我可以使用PHP套接字接收socket.send()
发送的此消息吗?
<script>
socket =new WebSocket("ws://127.0.0.1:20205");
socket.onopen=function(e){
alert("connected.sending data");
socket.send("I am alwin");
}
socket.onmessage=function(event){
alert(event.data);
}
socket.onclose=function(e){
alert("connection closed");
}
socket.onerror=function(e){
alert("error in connection"+e.message);
}
</script>
这是我的服务器代码使用PHP:
<?php
$host = "127.0.0.1";
$port = "20205";
set_time_limit(0);
$socket=socket_create(AF_INET, SOCK_STREAM, 0);
$result=socket_bind($socket, $host ,$port );
$result=socket_listen($socket, 3);
do
{
$accept = socket_accept($socket);
$in = socket_read($accept, 1024);
echo $in;
}while(true);
?>
我的cmd中收到类似的内容:
>GET / HTTP/1.1
>Host: 127.0.0.1:20205
>Connection: Upgrade
>Cache-Control: no-cache
>User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
>(KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36
>Upgrade: websocket
>Origin: http://localhost
>Sec-WebSocket-Version: 13
>Accept-Encoding: gzip, deflate, br
>Accept-Language: en
>Sec-WebSocket-Key: 1y/qz5NnmQJwq7bIk99u4w==
>Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
但是没有收到消息“我是阿尔文”。为什么? 我对这段代码进行了哪些更改,以便将消息发送到服务器中。