我有两个浏览器socket.io客户端。例如。客户端A和客户端B以及它们连接到第一个房间。Socket.io - nodejs服务器端。重新连接后关闭传输
以下行为发生在我的电脑上(安装nodejs 5,socket.io 1.4.5): 我们假设两个客户端都连接到Room One。当客户端A断开连接(失去连接)并在超时后重新连接并且客户端B不使用发送消息发送消息给第一个房间时,则客户端A的原始套接字将以传输原因关闭:超时。这对我很好。我需要这种行为。
在另一面: 当在该断开时间客户端A断开(失去连接)和在超时时间和客户端B重新连接使用发射用于信息发送到一个房间,客户端A的然后原始套接字重新连接之后会立即关闭并且没有超时。
看起来有些行为会在超时时间内选择断开连接的套接字,以便其他一些在线套接字尝试向同一个房间发送消息。当emited消息无法传送到断开连接的套接字(在客户端)时,那么此套接字可能选择在超时时间重新连接后立即关闭事务。
你有试过什么吗? –
我这么认为。我用其他方式解决了它。我为在断开事件上执行的函数添加了setTimeout。通过这种方式,我可以将数据存储到从旧套接字到新套接字的变量中,因为在超时期间,新套接字将此数据限制在setTimeout函数的限制内。 –
有谁知道更好的解决方案? –