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