从重新连接停止socket.io

Lem*_*ing 12 socket.io

简单场景:

  1. 客户端使用socket.io(socket = io.connect(...))连接到服务器
  2. 服务器崩溃
  3. 客户端尝试重新连接
  4. 用户告诉客户断开连接(socket.disconnect())
  5. 服务器启动
  6. 客户重新连接

似乎一旦socket.io开始尝试重新连接,它就不能再停止了.我希望第4步阻止第6步发生,但事实并非如此.我该怎么称呼呢?

Ale*_*erg 26

您可能希望自己处理重新连接.

// Disables the automatic reconnection
var socket = io.connect('http://server.com', {
    reconnection: false
});

// Reconnects on disconnection
socket.on('disconnect', function(){
    socket.connect(callback);
});
Run Code Online (Sandbox Code Playgroud)

注意:使用旧版本reconnect代替reconnection.

  • 看来目前该选项已更改为`reconnection:false` [link](http://socket.io/docs/client-api/#manager(url:string,-opts:object)) (11认同)