6.1 同步异步
6.1 同步异步
! swoole4.0后不再支持异步回调模块
同步通信 sync
适用场景:消息队列,硬件通信等,需要及时通信的应用场景
在客户端client.php中
Swoole\Client->connect(string $host,int $port, float $timeout = 0.5, int $flag = 0 ): bool
- int $flag
- 在 UDP 类型时表示是否启用 udp_connect 设定此选项后将绑定 $host 与 $port,此 UDP 将会丢弃非指定 host/port 的数据包。
- 在 TCP 类型,$flag=1 表示设置为非阻塞 socket,之后此 fd 会变成异步 IO,connect 会立即返回。如果将 $flag 设置为 1,那么在 send/recv 前必须使用 swoole_client_select 来检测是否完成了连接。
- 同步阻塞
- connect 方法会阻塞,直到连接成功并返回 true。这时候就可以向服务器端发送数据或者收取数据了。
1
2$client = new Swoole\Client(SWOOLE_SOCK_TCP,SWOOLE_SOCK_SYNC);
//SWOOLE_SOCK_SYNC 添加该参数开启同步通信
- connect 方法会阻塞,直到连接成功并返回 true。这时候就可以向服务器端发送数据或者收取数据了。
异步通信 async
Comments