ポート8973で接続を受け入れるWebソケットサーバー(python + Tornado)が動作しています。次のような簡単なJavaScript / jquery命令で接続できます。
ws = new WebSocket("ws://192.168.41.170:8973/rt");
しかし、この websocket サーバーに接続してメッセージを送信するには、php スクリプトが必要です。次のような最も利用可能なソリューションをすべて試しました
https://github.com/lemmingzshadow/php-websocket/
$host = '192.168.41.170'; //where is the websocket server
$port = 8973;
$local = "http://192.168.41.2/"; //url where this script run
$data = 'hello world!'; //data to be send
$head = "GET / HTTP/1.1"."\r\n".
"Upgrade: WebSocket"."\r\n".
"Connection: Upgrade"."\r\n".
"Origin: $local"."\r\n".
"Host: $host"."\r\n".
"Content-Length: ".strlen($data)."\r\n"."\r\n";
//WebSocket handshake
$sock = fsockopen($host, $port, $errno, $errstr, 2);
fwrite($sock, $head ) or die('error:'.$errno.':'.$errstr);
$headers = fread($sock, 2000);
fwrite($sock, "\x00$data\xff" ) or die('error:'.$errno.':'.$errstr);
$wsdata = fread($sock, 2000); //receives the data included in the websocket package "\x00DATA\xff"
fclose($sock);
しかし、これはすべて機能しません。動作するコード スニペットを持っている人はいますか? php-websocket サーバーは必要ありません。ありがとう