forked from whcyc2002/swoole_framework
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwebsocket_client_async.php
More file actions
34 lines (29 loc) · 938 Bytes
/
websocket_client_async.php
File metadata and controls
34 lines (29 loc) · 938 Bytes
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
<?php
define('DEBUG', 'on');
define('WEBPATH', realpath(__DIR__ . '/..'));
//包含框架入口文件
require WEBPATH . '/libs/lib_config.php';
//$cli = new Swoole\Client\WebSocket('127.0.0.1', 9501);
//$res = $cli->connect();
////测试各种大包
//for($i=0; $i< 1000; $i++)
//{
// $_send = str_repeat('A', rand(7000, 90000));
// $n = $cli->send($_send);
// echo "sent: ".strlen($_send).' bytes, '."n=$n\n";
// $frame = $cli->recv();
// echo "recv: ".strlen($frame->data)." bytes\n";
//}
$i = 0;
$cli = new Swoole\Async\WebSocket('127.0.0.1', 9443);
$cli->on('open', function(Swoole\Async\WebSocket $o, $header){
$_send = str_repeat('A', rand(700, 900));
$n = $o->send($_send);
echo "sent: " . strlen($_send) . ' bytes, ' . "n=$n\n";
});
$cli->on('message', function(Swoole\Async\WebSocket $o, $frame){
global $i;
echo "$i\trecv: ".strlen($frame->data)." bytes\n";
$i++;
});
$cli->connect();