TCP客户端异步连接

通过使用on方法注册异步回调函数。多个swoole_client可以嵌套回调。异步模式仅可用于cli模式,如在swoole_process或swoole_server中。

示例:

  1. <?php
  2. $client = new swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_ASYNC); //异步非阻塞
  3. $client->on("connect", function($cli) {
  4. echo "connected\n";
  5. $cli->send("hello world\n");
  6. });
  7. $client->on("receive", function($cli, $data) {
  8. if(empty($data)){
  9. $cli->close();
  10. echo "closed\n";
  11. } else {
  12. echo "received: $data\n";
  13. sleep(1);
  14. $cli->send("hello\n");
  15. }
  16. });
  17. $client->on("error", function($cli){
  18. exit("error\n");
  19. });
  20. $client->on("close", function($cli){
  21. echo "connection is closed\n";
  22. });
  23. $client->connect('127.0.0.1', 9501, 0.5);