1
我正在使用“socket.io”:“1.4.5”,“socket.io-redis”:“1.0.0”。使用socket-io-client的javascript客户端似乎很高兴地连接到服务器,除了服务器重新启动时。连接尝试失败,触发'{“消息”:“xhr轮询错误”,“类型”:“TransportError”,“description”:0“}'消息'connect_error'事件如果我重新启动浏览器连接工作正常。我还注意到,如果我在事件处理程序中为'connect_error'设置了一个断点并等待几秒钟,那么连接尝试最终会成功。我错过了客户端代码中的某个配置设置?这里是我的客户端代码重新启动服务器后,socket.io javascript客户端无法重新连接
var socketConnectParams = {'max reconnection attempts': 150};
socketConnectParams['reconnection'] = true;
socketConnectParams['reconnectionDelay'] = 5000;
socketConnectParams['reconnectionDelayMax'] = 15000;
var socket = io('http://localhost:8888', socketConnectParams);
socket.on('connect', function() { });
socket.on('connect_error', function(error) {
dLog("connection error event received." + JSON.stringify(error));
});
呃,只要没有关闭选项,socket.io就会自动重新连接。我不知道为什么这将是需要的,如果客户端没有错误配置。 – jfriend00
在我的情况下,套接字确实重新连接 - 但我必须重置连接上发生的所有配置,消息事件(我现在不记得为什么)。也许是因为重新连接得到一个新的套接字ID?我需要检查并回顾一下我的具体情况。 **编辑**我认为这是因为原始套接字订阅了一个房间,新的套接字将会丢失,需要重新订阅。 - 我真的需要调查,对不起。 – noderman