<?php $opt = getopt("c:n:k:"); print_r($opt); if (empty($opt['c']) || empty($opt['n'])) { echo "examples: php websocket_client.php -c 100 -n 10000" . PHP_EOL; return; } $clients = $opt['c']; $count = $opt['n']; $size = empty($opt['k']) ? 0 : $opt['k']; require "zphp/ZPHP/Common/WebSocketClient.php"; $host = '127.0.0.1'; $prot = 9501; $client = new Common\WebSocketClient($host, $prot); $data = $client->connect(); //echo $data; $data = "data"; if (!empty($size)) { $data = str_repeat("A", $size * 1024); } for ($i = 0; $i < $count; $i++) { $client->send("hello swoole, number:" . $i . " data:" . $data); $recvData = ""; //while(1) { $tmp = $client->recv(); if (empty($tmp)) { break; } $recvData .= $tmp; //}
<?php require "zphp/ZPHP/Common/WebSocketClient.php"; function getXY($id) { return ['angle' => "-4.734", 'momentum' => "0.000", 'name' => "Robot." . $id, 'type' => "update", 'x' => mt_rand(-300, 300), 'y' => mt_rand(-300, 300)]; } $send_count = 0; $num = 100; //机器人个数 $host = '127.0.0.1'; $prot = 8995; $clients = []; for ($i = 1; $i <= $num; $i++) { $client = new Common\WebSocketClient($host, $prot); $data = $client->connect(); $id = substr($data, -7, 6); echo "{$i} : {$id}" . PHP_EOL; $result = $client->send(json_encode(getXY($id))); $fd = $client->getSocket()->sock; $clients[$fd] = [$id, $client]; echo "robot {$fd} create success" . PHP_EOL; usleep(20000); $client->send(json_encode(array('type' => 'robot'))); } echo "starttime: " . date("Y-m-d H:i:s") . PHP_EOL; $starttime = time(); while (1) { foreach ($clients as $index => $cli) { $result = $cli[1]->send(json_encode(getXY($cli[0]))); $send_count++;