Client->on
注册异步事件回调函数。
function Client->on(string $event, mixed $callback) : bool;
- 参数
1
为事件类型,支持connect/error/receive/close
4种 - 参数
2
为回调函数,可以是函数名字符串、匿名函数、类静态方法、对象方法
调用
Swoole\Async\Client->close()
时会自动退出事件循环
UDP
协议的connect
事件在执行完connect
方法后立即被回调UDP
没有close
事件
UDP客户端
UDP没有连接和关闭的概念,因此
onConnect
事件会在UDP客户端创建后立即执行onClose
事件会在UDP客户端close
时立即执行
使用示例
$client = new Swoole\Async\Client(SWOOLE_TCP | SWOOLE_ASYNC); //异步非阻塞
$client->on("connect", function($cli) {
$cli->send("hello world\n");
});
$client->on("receive", function($cli, $data) {
echo "received: $data\n";
sleep(1);
$cli->send("hello\n");
});
$client->on("close", function($cli){
echo "closed\n";
});
$client->on("error", function($cli){
exit("error\n");
});
$client->connect('127.0.0.1', 9501, 0.5);