-
Notifications
You must be signed in to change notification settings - Fork 3.2k
/
Copy patheof_client.php
52 lines (44 loc) · 1.13 KB
/
eof_client.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
$client = new Swoole\Client(SWOOLE_SOCK_TCP);
$client->set(
array(
'open_eof_split' => true,
'package_eof' => "\r\n",
'package_max_length' => 8 * 1024 * 1024,
)
);
if (!$client->connect('127.0.0.1', 9504)) {
exit("connect failed\n");
}
$func = "send_test" . intval(empty($argv[1]) ? 3 : $argv[1]);
for ($l = 0; $l < 1; $l++) {
for ($i = 0; $i < 10; $i++) {
$len = rand(100000, 200000);
$func($client, $len);
}
}
function send_test3($client, $len)
{
$data = str_repeat('A', $len) . "\r\n";
$chunks = str_split($data, 4000);
foreach ($chunks as $ch) {
$client->send($ch);
}
echo "send : " . strlen($data) . "\n";
// $data = $client->recv();
// echo "recv : " . strlen($data) . "\n";
}
function send_test2($client, $len)
{
$data = pack('N', $len + 4);
$data .= str_repeat('A', $len) . rand(100000, 999999);
$client->send($data);
$data = $client->recv();
}
function send_test1($client, $len)
{
$client->send(pack('N', $len + 4));
usleep(10);
$client->send(str_repeat('A', $len) . rand(1000, 9999));
$data = $client->recv();
}