Zac*_*ach 11 javascript websocket
在Firefox(至少)中,如果你按ESC,它将关闭所有打开的WebSockets连接.我需要捕获断开连接并尝试重新连接一旦它再次可用.
这是我试图实现的代码的一个示例,但是我能想出的任何内容都不会捕获错误并允许我优雅地处理它.
看看代码:http://jsfiddle.net/w5aAK/
var url = "ws://echo.websocket.org";
try {
socket = window['MozWebSocket'] ? new MozWebSocket(url) : new WebSocket(url);
socket.onopen = function(){
console.log('Socket is now open.');
};
socket.onerror = function (error) {
console.error('There was an un-identified Web Socket error');
};
socket.onmessage = function (message) {
console.info("Message: %o", message.data);
};
} catch (e) {
console.error('Sorry, the web socket at "%s" is un-available', url);
}
setTimeout(function(){
socket.send("Hello World");
}, 1000);
Run Code Online (Sandbox Code Playgroud)
打开控制台并观察输出.
我在这里做错了,还是因为连接在JS脚本范围之外运行而不可能?
任何输入都会有所帮助.
谢谢!
您可以为socket.onclose事件附加处理程序.当您按ESC并且连接中断时将调用它.
请参阅:http://jsfiddle.net/w5aAK/1/
您目前无法解决的一个问题是输出到控制台的中断错误.在我害怕的那一刻,我无法捕捉到这一点.
| 归档时间: |
|
| 查看次数: |
18723 次 |
| 最近记录: |