<?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;
    //}
Example #2
0
<?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++;