【发布时间】:2014-02-01 09:47:38
【问题描述】:
我昨天用 PHP 编写了一个简短的 WebSocket 示例服务器。当客户端连接到服务器时,服务器读取客户端握手并将服务器握手与适当的密钥一起发送回。客户端的 onopen() 被触发,服务器和客户端似乎已连接。
我的问题是:服务器收不到客户端消息,客户端也收不到服务器消息。 onmessage() 没有被触发一次,socket_select() 永远不会返回在服务器端发送消息的客户端。
function connect() {
try {
var webSocketURL = "ws://" + serverAddress + ":" + serverPort;
socket = new WebSocket(webSocketURL);
socket.onopen = function() {
log("Connected! (" + this.readyState + ")");
}
socket.onclose = function() {
log("Closed! (" + this.readyState + ")");
socket.close();
}
socket.onerror = function(error) {
log("Error: " + error.data);
socket.close();
}
socket.onmessage = function(message) {
log("Message from server: " + message.data);
}
}
catch (e) {
alert("Error: " + e);
}
}
服务器代码有点长,不过你可以找到here。
谁能告诉我那里出了什么问题?握手不正确吗?
客户端输出:
已连接! (1) 给服务器的消息:0USERchannel
非常感谢您的帮助,谢谢。
【问题讨论】:
-
你最后搞清楚了吗?同样的问题
标签: javascript php websocket