eof_client.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. $client = new swoole_client(SWOOLE_SOCK_TCP);
  3. $client->set(
  4. array(
  5. 'open_eof_split' => true,
  6. 'package_eof' => "\r\n",
  7. 'package_max_length' => 8 * 1024 * 1024,
  8. )
  9. );
  10. if (!$client->connect('127.0.0.1', 9504)) {
  11. exit("connect failed\n");
  12. }
  13. $func = "send_test" . intval(empty($argv[1]) ? 3 : $argv[1]);
  14. for ($l = 0; $l < 1; $l++) {
  15. for ($i = 0; $i < 10; $i++) {
  16. $len = rand(100000, 200000);
  17. $func($client, $len);
  18. }
  19. }
  20. function send_test3($client, $len)
  21. {
  22. $data = str_repeat('A', $len) . "\r\n";
  23. $chunks = str_split($data, 4000);
  24. foreach ($chunks as $ch) {
  25. $client->send($ch);
  26. }
  27. echo "send : " . strlen($data) . "\n";
  28. // $data = $client->recv();
  29. // echo "recv : " . strlen($data) . "\n";
  30. }
  31. function send_test2($client, $len)
  32. {
  33. $data = pack('N', $len + 4);
  34. $data .= str_repeat('A', $len) . rand(100000, 999999);
  35. $client->send($data);
  36. $data = $client->recv();
  37. }
  38. function send_test1($client, $len)
  39. {
  40. $client->send(pack('N', $len + 4));
  41. usleep(10);
  42. $client->send(str_repeat('A', $len) . rand(1000, 9999));
  43. $data = $client->recv();
  44. }