【发布时间】:2011-04-24 23:29:43
【问题描述】:
我有一个托管在 localhost:8000 的站点。现在,我有一个服务器在 localhost:8001 监听 websocket 连接。我希望我的网站通过 websocket api 连接到该服务器,例如
var conn = new WebSocket('ws://localhost:8001');
但是我在调用 Chromium 6.0.472.62 时遇到了一些错误
conn.send('something');
看起来像:未捕获的错误:INVALID_STATE_ERR:DOM 异常 11。
在 Firefox 4 (4.0b8pre) 中,我收到错误: 试图使用不可用或不再可用的对象”代码:“11
我认为这是握手不支持服务器上的 websocket Draft76 的问题,但我使用的是声称支持 Draft75 和 Draft76 的http://github.com/miksago/node-websocket-server/tree/master/lib/ws/。
此外,最初的握手似乎工作正常。我可以在创建新的 WebSocket 时收到来自服务器的响应,但是,从客户端调用“发送”时会出现问题。
由于我的 httpserver 在端口 8000 上而 websocket 服务器在 8001 上,这是否是同源策略的问题?如果是这样,我该如何解决这个问题?
【问题讨论】: