当前位置: 首页 > 面试题库 >

获取Socket.io客户端上的连接状态

苏淇
2023-03-14
问题内容

我正在使用Socket.io,并且想知道从客户端到服务器的连接状态。

像这样:

socket.status // return true if connected, false otherwise

如果连接断开或由于任何原因断开连接,我需要此信息来向用户提供视觉反馈。


问题答案:

您可以检查socket.connected属性:

var socket = io.connect();
console.log('check 1', socket.connected);
socket.on('connect', function() {
  console.log('check 2', socket.connected);
});

它是动态更新的,如果连接丢失,它将设置为,false直到客户端再次选择连接为止。很容易检查setInterval或类似的东西。

另一个解决方案是捕获disconnect事件并自己跟踪状态。



 类似资料:
  • 问题内容: 我正在尝试获取当前已连接的所有套接字/客户端的列表。 不幸的是,它不返回数组。 我知道我可以使用数组保留自己的列表,但是由于以下两个原因,这并不是最佳解决方案: 冗余。Socket.IO已保留此列表的副本。 Socket.IO提供了为客户端(即:)设置任意字段值的方法,因此,如果我要维护自己的列表,则需要跟上这些更改。 救命? 问题答案: 在Socket.IO 0.7中,您在名称空间上

  • 我已经为一个服务实现了socket.io,然后删除了它。但是,我仍然有客户机向endpoint/socket.io发出初始连接请求,而endpoint/socket.io已经不存在了。使用各种http状态代码进行响应似乎并不重要。 是否有方法阻止客户端尝试连接?我每分钟收到几千个请求。

  • 所以我有一个使用 socket.io 和 expressjs 的 nodejs 应用程序 我使用端口“3000”作为Express应用程序,使用端口“8080”作为套接字应用程序 > 这两种服务是否可以使用相同的端口?(express和socket.io) 当我想从客户端连接到套接字时,我使用以下代码: http://localhost:8080套接字 什么是连接到它的正确方式(我在互联网上的教程

  • 问题内容: 在Node.js服务器中使用socket.IO时,是否有一种简单的方法来获取传入连接的IP地址?我知道您可以从标准的HTTP连接中获得它,但是socket.io有点不同。 问题答案: 好的,从0.7.7版本开始可用,但是不像lubar所描述的那样。我最终需要通过git hub上的一些提交日志来解析该问题,但是下面的代码现在确实对我有用:

  • 问题内容: 我使用和创建一个实时Web应用程序。我将为用户提供对套接字连接的完全控制,例如手动断开连接和(重新)连接。 在客户端启动时,该功能可以正常运行,但是在使用之后,不会启动新连接。 问题答案: 现在可以使用socket.socket.reconnect() 相关:https : //github.com/LearnBoost/socket.io- client/issues/251

  • 问题内容: 这是两个相关的问题。将它们一起发布更有意义。 问题1 我有一个node.js应用程序,它向所有客户端发出事件,所有当前客户端都将发出一个响应。如何创建所有回复到初始发射的客户端的列表,以及可以使用哪种标识来区分客户端? 问题2: 在收集已连接的客户端列表之后,我想做的就是访问一个具有行数的MySQL数据库表,并为每个客户端行分配一个表。这些行将被发回给它们各自的客户端。如何才能做到这一