Я пытаюсь отправить некоторые данные на сервер веб-сокетов. Рукопожатие работает нормально, но когда я отправляю данные, сервер просто игнорирует их.
Я читал, что данные должны быть заключены в символы "\ x00" и "\ xFF", но я не знаю, правильно ли это. (Пробовал без него, все равно не работает)
Вот код толкателя:
$host = '127.0.0.1'; //where is the websocket server
$port = 10000;
$origin = "http://localhost/"; //url where this script run
$data = 'server side client message'; //data to be send
$head = "GET / HTTP/1.1\r\n".
"Upgrade: websocket\r\n".
"Connection: Upgrade\r\n".
"Host: $host:$port\r\n".
"Origin: $origin\r\n".
"Sec-WebSocket-Key: k2towQT28s50DtKptTjZbg==\r\n".
"Sec-WebSocket-Version: 13\r\n\r\n";
if($sock = fsockopen($host, $port, $errno, $errstr)){
fwrite($sock, $head);
$headers = fread($sock, 2000);
echo nl2br($headers).'<br/><br/>';
echo 'handshake finished<br/>'; //<--- working fine until this point
echo '<br/>sending data: '.$data.'<br/>';
fwrite($sock, "\x00".$data."\xff" ) or die('error:'.$errno.':'.$errstr); //Server ignores this message
//$wsdata = fread($sock, 2000);
//echo '<br/>response: '.trim($wsdata, "\x00\xff").'<br/>';
echo 'closing...';
fclose($sock);
}else{
echo 'fsockopen failed';
}
Я что-то пропустил? заранее спасибо
lib/Client.php
/lib/Base.php
должны дать вам примеры, необходимые для работы. - person Josh J   schedule 24.07.2015