我正在使用node.js来实现websocket服务器和客户端.他们之间的握手看起来像这样.
请求网址:ws:// localhost:8015 /
请求方法:GET
状态代码:101切换协议
请求标题
Cache-Control: no-cache
Connection: Upgrade
Cookie: SQLiteManager_currentLangue=2
Host: localhost:8015
Origin: http:/localhost:8080
Pragma: no-cache
Sec-WebSocket-Extensions: x-webkit-deflate-frame
Sec-WebSocket-Key: A/knWtXFtTa5V6po8XOfjg==
Sec-WebSocket-Protocol: echo-protocol
Sec-WebSocket-Version: 13
Upgrade: websocket
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36
Run Code Online (Sandbox Code Playgroud)
响应标题
Connection: Upgrade
Origin: http:/localhost:8080
Sec-WebSocket-Accept: 5OUv+g5mBPxVDug4etJfGX4lxIo=
Sec-WebSocket-Protocol: echo-protocol
Upgrade: websocket
Run Code Online (Sandbox Code Playgroud)
服务器正在从客户端发送消息(我在控制台上记录消息),但是当服务器发送消息时,客户端中的onmessage事件不会被触发.令我困惑的另一件事是,一旦打开连接,客户端中的onmessage事件只会被触发一次.
请帮助......我试图将服务器上的消息回显给客户端.
编辑:
这就是我在websocket客户端处理事件的方式......
html5WebSocketClient.connect = function(){
if(window.WebSocket != undefined){
if(connection.readyState == undefined || connection.readyState > 1)
connection = new WebSocket('ws://localhost:8015/','echo-protocol');
}
if (window.MozWebSocket) {
window.WebSocket …Run Code Online (Sandbox Code Playgroud)