如何检测socket.io上的断开连接?

use*_*295 16 javascript node.js socket.io

我在我的项目中使用socket.io.我打开了重新连接功能.我想如果用户断开与服务器的连接显示警报(您的互联网连接丢失.尝试重新连接).如果用户再次重新连接,我想再显示一个警报(别担心,你已连接).

我该怎么做?

ror*_*hes 22

要在您使用的客户端上进行检测

  // CLIENT CODE
  socket.on('disconnect', function(){
      // Do stuff (probably some jQuery)
  });
Run Code Online (Sandbox Code Playgroud)

它与node.js服务器的代码完全相同.

如果由于某种原因想要检测到用户断开连接并将其显示给其他用户,则需要使用服务器检测到该人离开,然后使用以下内容向其他人发回消息:

socket.on('disconnect', function(){
    socket.broadcast.to(roomName).emit('user_leave', {user_name: "johnjoe123"});
});
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助


tym*_*eJV 9

socket.io有一个disconnect事件,把它放在你的connect块内:

socket.on('disconnect', function () {
    //do stuff
});
Run Code Online (Sandbox Code Playgroud)