Пример клиента WebSocket на PHP
Если клиент на javascript для WebSocket это весьма простая вещь, то на PHP чуточку сложнее. Готовых примеров в сети раз-два и обчелся. Вот пример одной из реализаций:
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 |
$local = "http://грибовы.рф"; $data = "Скрипт обработки выбора фильтра абонентом"; $key="woeudhцукацук цук пупркеркеуенakcslerug;er"; $host=$row2["mysql_ip"]; $port = 8000; $head = "GET / HTTP/1.1"."\r\n". "Upgrade: WebSocket"."\r\n". "Connection: Upgrade"."\r\n". "Origin: $local"."\r\n". "Host: $host"."\r\n". "Sec-WebSocket-Key: asd245345235d6asd6as7d"."\r\n". "Content-Length: ".strlen($data)."\r\n"."\r\n"; $sock = fsockopen($host, $port, $errno, $errstr, 2); fwrite($sock, $head ) or die('error:'.$errno.':'.$errstr); $headers = fread($sock, 2000); //echo $headers; fwrite($sock, hybi10Encode($data)) or die('error:'.$errno.':'.$errstr); $wsdata = fread($sock, 2000); //var_dump(hybi10Decode($wsdata)); //echo "--send\n"; $mess["key"]=$key; $mess["command"]="UpdateFilterContent"; fwrite($sock, hybi10Encode(json_encode($mess))) or die('error:'.$errno.':'.$errstr); //echo "--read\n"; $wsdata = fread($sock, 2000); //var_dump(hybi10Decode($wsdata)); fclose($sock); |
Вспомогательные функции: