1.7.5增加了swoole_client->sendfile接口,在客户端中也可以直接发送一个文件到服务器。使用方法

  1. $client = new swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_SYNC); //同步阻塞
  2. if (!$client->connect('127.0.0.1', 9501, -1))
  3. {
  4. exit("connect failed. Error: {$client->errCode}\n");
  5. }
  6. if ($client->sendfile(__DIR__.'/test.txt') === false)
  7. {
  8. echo "send failed. Error: {$client->errCode}\n";
  9. break;
  10. }
  11. $data = $client->recv(7000);
  12. if ($data === false)
  13. {
  14. echo "recv failed. Error: {$client->errCode}\n";
  15. break;
  16. }
  17. var_dump($data);
  18. $client->close();

sendfile只需要传入文件名即可发送到服务器。当文件不存在时会返回false。

原文:https://wiki.swoole.com/wiki/page/266.html