Socket.io - nodejs服务器端。重新连接后转移关闭

时间:2016-05-16 11:30:18

标签: node.js socket.io

我有两个浏览器socket.io客户端。例如。客户A和客户B及其连接到第一房间。

我的计算机上发生了以下行为(已安装nodejs 5,socket.io 1.4.5): 我们假设两个客户都连接到Room One。当客户端A断开连接(丢失连接)并在超时后重新连接并且客户端B不使用发送消息发送到第一个房间时,客户端A的原始套接字将关闭,传输原因为:timeouted。这对我有好处。我需要这种行为。

另一方面: 当客户端A断开连接(丢失连接)并在超时时间内重新连接时,客户端B在断开连接的时间内使用emit发送消息到第一个房间,然后重新连接后客户端A的原始套接字将立即关闭并且传输原因:已关闭但未超时

看起来有一些行为在超时时间内选择断开连接的套接字,因为其他一些在线套接字尝试向同一个房间发送消息。当emited消息无法传递到断开连接的套接字(在客户端)时,可能会选择在超时时间重新连接后立即关闭事务。

1 个答案:

答案 0 :(得分:0)

我注意到了更进一步的问题。当移动客户端丢失连接并且某人发送到连接移动客户端的房间时,移动套接字立即断开,没有超时,因为linux上的传输关闭。

上面的情况对于mac系统是不同的。如果客户端移动设备重新连接,则套接字将断开连接或超时。

有人可以帮助同一版本的节点(6.2)和相同版本的套接字(1.4.6)上的这种行为有什么不同吗?