Javascript Socket.io客户端火灾事件(如果Can';无法连接到服务器
我在AmazonEC2上运行一个简单的node.js服务器,它为我运行socket.io。我正在开发一个在两个客户端之间发送数据的chrome扩展。但是,如果我使服务器脱机,客户端不会尝试自动重新连接。我想实现这个特性。当我执行Javascript Socket.io客户端火灾事件(如果Can';无法连接到服务器,javascript,node.js,socket.io,Javascript,Node.js,Socket.io,我在AmazonEC2上运行一个简单的node.js服务器,它为我运行socket.io。我正在开发一个在两个客户端之间发送数据的chrome扩展。但是,如果我使服务器脱机,客户端不会尝试自动重新连接。我想实现这个特性。当我执行socket=io.connect(“http://xxx.xxx.xxx.xxx:xxx“”如果它在指定的IP地址和端口上找不到服务器,我如何让它触发一个事件,使其进入递归循环,直到它可以?这样的东西存在吗 function connect() { socket
socket=io.connect(“http://xxx.xxx.xxx.xxx:xxx“”
如果它在指定的IP地址和端口上找不到服务器,我如何让它触发一个事件,使其进入递归循环,直到它可以?这样的东西存在吗
function connect() {
socket = io.connect("http://123.456.789.1011:1337");
socket.on('server_not_found', function() {
connect();
});
}
从socket.io wiki上看,似乎有一个connect\u failed事件可以侦听()。该事件没有为我触发(请参阅),但如果连接失败,将触发错误事件,您可以检查套接字上的连接状态。你可以试一下,看看哪一种效果更好 例如:
function connect() {
var socket = io.connect("http://123.456.789.1011:1337"),
timer;
socket.on('error', function() {
// wait 5 seconds then try again
if (!socket.socket.connected) {
timer = window.setInterval(function() { connect() }, 5000);
}
});
socket.on('connect', function() {
// we've connected so clear the timer
window.clearInterval(timer);
});
}
工作得很有魅力!:)令人惊叹的!很乐意帮忙:)