入门指引 Server Client Process AsyncIO Memory HttpServer WebSocket 高级 其他

发布于 2015-08-09 09:38:57 | 267 次阅读 | 评论: 0 | 来源: 网络整理

连接到远程服务器,函数原型:

bool $swoole_client->connect(string $host, int $port, float $timeout = 0.1, int $flag = 0)

connect方法接受4个参数:

  • $host是远程服务器的地址
  • $port是远程服务器端口
  • $timeout是网络IO的超时,单位是s,支持浮点数。默认为0.1s,即100ms
  • $flag参数在UDP类型时表示是否启用udp_connect
    设定此选项后将绑定$host与$port,此UDP将会丢弃非指定host/port的数据包。
  • $flag参数在TCP类型,$flag=1表示设置为非阻塞socket,connect会立即返回。如果将$flag设置为1,那么在send/recv前必须使用swoole_client_select来检测是否完成了连接

同步模式

connect方法会阻塞,直到连接成功并返回true。这时候就可以向服务器端发送数据或者收取数据了。

if ($cli->connect('127.0.0.1', 9501)) {
      $cli->send("data");
} else {
      echo "connect failed.";
}

如果连接失败,会返回false

异步模式

connect会立即返回true。但实际上连接并未建立。所以不能在connect后使用send/recv。通过isConnected()判断也是false。

当连接成功后,系统会自动回调onConnect。这时才可以使用send/recv。

最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务