client_send_yield.php 622 B

123456789101112131415161718192021222324252627
  1. <?php
  2. go(function () {
  3. $client = new Swoole\Coroutine\Client(SWOOLE_SOCK_TCP);
  4. $client->set(array(
  5. 'socket_buffer_size' => 1024 * 512,
  6. ));
  7. if (!$client->connect('127.0.0.1', 9501, -1))
  8. {
  9. exit("connect failed. Error: {$client->errCode}\n");
  10. }
  11. $length = 0;
  12. $size = 1024 * 64;
  13. while (true)
  14. {
  15. $ret = $client->send(str_repeat('A', $size));
  16. if ($ret == false)
  17. {
  18. var_dump($ret);
  19. break;
  20. }
  21. $length += $size;
  22. echo "send $length success\n";
  23. }
  24. var_dump($client->errCode);
  25. });
  26. swoole_event_wait();