我有一个托管在localhost:8000的网站.现在,我有一个服务器在localhost:8001上侦听websocket连接.我希望我的网站通过websocket api连接到这个服务器
var conn = new WebSocket('ws://localhost:8001');
Run Code Online (Sandbox Code Playgroud)
但是在调用时我在Chromium 6.0.472.62中遇到了一些错误
conn.send('something');
Run Code Online (Sandbox Code Playgroud)
看起来像:未捕获错误:INVALID_STATE_ERR:DOM异常11.
在Firefox 4(4.0b8pre)中,我收到错误:尝试使用不可用或不再可用的对象"代码:"11
我认为这是一个问题,握手不支持服务器上的websocket draft76,但我正在使用http://github.com/miksago/node-websocket-server/tree/master/lib/ws/声称支持draft75和草案76.
此外,初始握手似乎工作正常.我可以在创建新的WebSocket时收到服务器的响应,但是,从客户端调用"发送"时会出现问题.
这是一个与原始策略相同的问题,因为我的httpserver在端口8000上,而websocket服务器在8001上?如果是这样,我该如何解决这个问题呢?
kan*_*aka 27
也许你需要等待onopen事件开火?
var conn = new WebSocket('ws://localhost:8001');
conn.onopen = function (e) {
conn.send('something');
}
conn.onmessage = function (e) {
console.log('got something: ' + e.data);
}
Run Code Online (Sandbox Code Playgroud)
此外,挂钩onclose和onerror事件也是一个好主意.
| 归档时间: |
|
| 查看次数: |
6624 次 |
| 最近记录: |