[英]WebSocket connection established, but can't receive messages
我昨天用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);
}
}
服務器代碼稍長,但是您可以在此處找到它。
誰能告訴我那里怎么了? 握手不正確嗎?
客戶輸出:
連接的! (1)發送到服務器的消息:0USERchannel
服務器輸出 。
非常感謝您的幫助,謝謝。
在客戶端,確保socket
變量是全局的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.