4 ? intval($argv[4]) : 1; $delay = ($argc > 5 ? intval($argv[5]) : 100) * 1000; $service = "tcp://{$argv[1]}:{$argv[2]}"; $s = stream_socket_client($service, $errno, $error); if (!$s) { die("stream_socket_client({$service}) error:#{$errno},{$error}"); } for ($i = 0; $i < $cnt; $i++) { $req = new Message(); $req->set('cmd', $argv[3]); if (!fwrite($s, $req->toBuffer())) { echo "fwrite() error!\n"; break; } $data = fread($s, 4); if ($data) { if (strlen($data) != 4) { die("fread() return " . bin2hex($data) . "\n"); } $arr = unpack('N', $data); $len = $arr[1]; $data = ''; $rest = $len; do { $ndata = fread($s, $rest); if (!$ndata) { break; } $data .= $ndata; $rest -= strlen($ndata); } while ($rest > 0); if ($len > 1024) { echo "[{$len}] --> " . substr($data, 0, 1024) . " ...\n"; } else { echo "[{$len}] --> {$data}\n"; } } usleep($delay); } fclose($s);