1--TEST-- 2swoole_socket_coro: recv line 3--SKIPIF-- 4<?php 5require __DIR__ . '/../include/skipif.inc'; 6?> 7--FILE-- 8<?php 9require __DIR__ . '/../include/bootstrap.php'; 10 11use Swoole\Coroutine\Server; 12use Swoole\Coroutine\Server\Connection; 13 14Co\run(function () { 15 $port = get_one_free_port(); 16 go(function() use($port) { 17 $server = new Server('0.0.0.0', $port, false); 18 19 $server->handle(function (Connection $conn) use ($server) { 20 $conn->send("hello world\n"); 21 $conn->send("\r"); 22 $conn->send(str_repeat('A', 128) . str_repeat('B', 125)); 23 $server->shutdown(); 24 }); 25 26 $server->start(); 27 }); 28 29 $cli = new Co\Socket(AF_INET, SOCK_STREAM, 0); 30 if ($cli->connect('127.0.0.1', $port) == false) { 31 echo "ERROR\n"; 32 return; 33 } 34 Assert::eq($cli->recvLine(128), "hello world\n"); 35 Assert::eq($cli->recvLine(128), "\r"); 36 Assert::eq($cli->recvLine(128), str_repeat('A', 128)); 37 Assert::eq($cli->recvLine(128), str_repeat('B', 125)); 38 Assert::eq($cli->recvLine(128), ""); 39}); 40 41?> 42--EXPECT-- 43