带有PHP7.2和Apache:socket\u读取格式的简单Websocket服务器
大家早上好 我似乎有一个让我发疯的问题,因为我完全不知道去哪里搜索 为了获得使用Websocket的经验,我想用PHP和Apache设置一个Websocket服务器。通过结合以下解决方案: 及 我能够得到一个正常工作的echo服务器。这意味着我可以从浏览器发送一条消息,服务器用此消息进行应答。下面是代码片段带有PHP7.2和Apache:socket\u读取格式的简单Websocket服务器,php,apache,websocket,Php,Apache,Websocket,大家早上好 我似乎有一个让我发疯的问题,因为我完全不知道去哪里搜索 为了获得使用Websocket的经验,我想用PHP和Apache设置一个Websocket服务器。通过结合以下解决方案: 及 我能够得到一个正常工作的echo服务器。这意味着我可以从浏览器发送一条消息,服务器用此消息进行应答。下面是代码片段 do { if (false === ($buf = socket_read($client,2048))) { echo "socket_read() fehlgeschlage
do {
if (false === ($buf = socket_read($client,2048))) {
echo "socket_read() fehlgeschlagen: Grund: " . socket_strerror(socket_last_error($client)) . "\n";
break 2;
}
echo $buf; // <--- this line shows "crypted" text
socket_write ($client, $buf, strlen ($buf));
} while (true);
但是没有成功。你能帮我吗
更新:
睡了一个好觉后,我找到了正确的问题,然后很快就找到了答案:
解释的起点是:
解码示例:
以及用于编码/解码的代码示例:
//$talkback = "PHP: Sie haben '$buf' eingegeben.\n";
//var_dump(mb_convert_encoding($buf,"UTF-8"));
//$unpacked = unpack('Clength',socket_read($client,1));
//var_export($unpacked);
//$msg = socket_read($client, $unpacked['length']);
//echo implode(array_map("chr", $msg));