Javascript WebSocket在发送时关闭
所以我看到了这篇很棒的博文。我决定试着用作者的名字自己设置它。它不起作用 进一步的调试表明websocket连接正常,但一旦调用“send”就会关闭。这是wireshark跟踪(请原谅奇怪的间距): 我在Chrome和Firefox 4.0测试版中都试过。他们都表现出相同的行为。如果我去看电影,效果很好 还有一件事。如果我在FF或Chrome中进入JS控制台并执行以下操作:Javascript WebSocket在发送时关闭,javascript,html,node.js,websocket,Javascript,Html,Node.js,Websocket,所以我看到了这篇很棒的博文。我决定试着用作者的名字自己设置它。它不起作用 进一步的调试表明websocket连接正常,但一旦调用“send”就会关闭。这是wireshark跟踪(请原谅奇怪的间距): 我在Chrome和Firefox 4.0测试版中都试过。他们都表现出相同的行为。如果我去看电影,效果很好 还有一件事。如果我在FF或Chrome中进入JS控制台并执行以下操作: ws = new WebSocket('ws://localhost:8000/test') ws.send("foo")
ws = new WebSocket('ws://localhost:8000/test')
ws.send("foo")
它会立即断开连接,不发送消息。服务器显示连接和握手,但从未收到消息
我在这里发现了一些类似的问题,但要么没有发布补丁就解决了,要么似乎不适用于这种情况。我可以从中发布代码,如果这会使它更容易。主标题。尽管我相信自己安装了Node.js的最新版本,但我没有安装。我有几台机器上有Node.js我一定是迷路了。我有Node.jsv0.1.96。升级到v0.1.102后,一切正常
对不起,伙计们-D对于从浏览器发出发送时发生的断开连接问题,您需要等待onopen事件触发后再发出发送:
var conn = new WebSocket('ws://localhost:8000/test');
conn.onopen = function (e) {
conn.send('foo');
}
conn.onmessage = function (e) {
console.log('got: ' + e.data);
}
CloseEvent有一个“code”属性,它将为您提供有关连接关闭原因的信息
“返回包含服务器发送的关闭代码的无符号短代码。以下值是允许的状态代码。”
支持多种代码值。以下是最突出的:
- 1000:正常关闭
- 1001:关闭,离开
- 1002:关闭\u协议\u错误
- 1003:不支持关闭
- 1005:关闭\u否\u状态
更多信息。在Android中,对我来说,问题在于如何处理数据。我能够通过以下操作精确定位
ws.send(JSON.stringify(无论什么))代码>
onClosed和onFailure上运行日志
// Connection Closed
ws.on('close', function close(code, reason) {
console.log('ws is closed with code: ' + code + ' reason: ' + reason);
});
// On Error
ws.on('error', function(e) {
console.log("error occured" +e);
});
有关完整问题和解决方案,请参见此处:虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。-非常感谢你的建议。下次我会考虑的!
// Connection Closed
ws.on('close', function close(code, reason) {
console.log('ws is closed with code: ' + code + ' reason: ' + reason);
});
// On Error
ws.on('error', function(e) {
console.log("error occured" +e);
});