Вчера я написал короткий сервер WebSocket в PHP. Когда клиент подключается к серверу, сервер считывает клиентское рукопожатие и отправляет квитанцию сервера обратно с помощью соответствующего ключа. onopen() клиента увольняется, и сервер и клиент отображаются для подключения.Соединение WebSocket установлено, но не может получать сообщения
Моя проблема: сервер не может получать клиентские сообщения, и клиент не может получать сообщения сервера. 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.
Может ли кто-нибудь сказать мне, что там не так? Правильно ли рукопожатие? Выход
Клиент:
Connected! (1) сообщение на сервер: 0USERchannel
Помощь очень ценю, спасибо.
Вы поняли это в конце? Такая же проблема здесь – Nick