1--TEST-- 2swoole_socket_coro: send large packet 3--SKIPIF-- 4<?php require __DIR__ . '/../include/skipif.inc'; ?> 5--FILE-- 6<?php 7require __DIR__ . '/../include/bootstrap.php'; 8 9const N = 5; 10//Server 11go(function () { 12 $socket = new Swoole\Coroutine\Socket(AF_INET, SOCK_DGRAM, 0); 13 $socket->bind('127.0.0.1', 9601); 14 for ($i = 0; $i < N; $i++) 15 { 16 $peer = null; 17 $data = $socket->recvfrom($peer); 18 $socket->sendto($peer['address'], $peer['port'], "Swoole: $data"); 19 Assert::assert(strlen($data) >= 30000); 20 Assert::assert(is_array($peer)); 21 } 22}); 23 24//Client 25go(function () { 26 $socket = new Swoole\Coroutine\Socket(AF_INET, SOCK_DGRAM, 0); 27 for ($i = 0; $i < N; $i++) 28 { 29 $socket->sendto('127.0.0.1', 9601, str_repeat('A', rand(30000, 65000))); 30 $peer = null; 31 $data = $socket->recvfrom($peer); 32 Assert::assert(is_array($peer)); 33 Assert::assert(strlen($data) >= 30000); 34 } 35}); 36swoole_event_wait(); 37?> 38--EXPECTF-- 39