2019-09-06 23:53:10 +08:00

46 lines
966 B
PHP
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
if (empty($argv[1]))
{
$server_ip = '127.0.0.1';
}
else
{
$server_ip = $argv[1];
}
$cli = new swoole_client(SWOOLE_TCP);
$start_ms = microtime(true);
$cli->connect($server_ip, 9501, 5);
$filesize = intval($cli->recv());
if ($filesize == 0)
{
die("get file size failed.\n");
}
echo "file_size = $filesize\n";
$content = '';
$cli->send("get file");
$use_waitall = false;
if ($use_waitall)
{
//waitall需要一次性分配内存适合小一点的文件
$content = $cli->recv($filesize, true);
}
else
{
//循环接收,适合大型文件
while(1)
{
//超大文件接收,这里需要改成分段写磁盘
$content .= $cli->recv();
if (strlen($content) == $filesize)
{
break;
}
}
}
file_put_contents(__DIR__."/recv_file_".time().".jpg", $content);
echo "recv ".strlen($content)." byte data\n";
echo "used ".((microtime(true) - $start_ms)*1000)."ms\n";
$cli->close();