node.js/socket.io聊天的某种超时程序



我们从一个示例聊天文档中构建了简单的node.jssocket.io聊天。这是我们遇到的问题;

  • 当一个人点击B进行聊天时,它会说"准备好开始对话了">
  • 当他们发送消息时,什么也没发生,只点击回车清除消息,A和B都看不到
  • 但如果他们同时做f5,它会再次表示"可以开始对话了",现在他们可以毫无问题地聊天了
  • 有了这个第一个触发器,每次聊天都可以在没有f5的情况下进行。例如,在1-5小时后,如果C点击D,他们可以毫无问题地开始对话
  • 但是,如果一天过去了,没有任何对话,那么在那天开始第一次对话的人就必须做出f5来触发某种触发。然后他们之后的任何人都可以毫无问题地开始

服务器进入某种超时或屏幕保护程序模式。。!第一次谈话的人总是要做出f5。然后它会工作一天。。我没有发送任何代码或我们需要指导的东西。Node.js?socket.io?是什么导致了这个愚蠢的问题?Thx

但是,如果一天过去了,没有任何对话,那么在那天开始第一次对话的人就必须做出f5来触发某种触发。然后他们之后的任何人都可以毫无问题地开始。

这听起来像是你试图在没有任何客户端进行任何重新连接的情况下保持websocket连接打开几天?

如果是这种情况,那么可能是客户端的问题。也许浏览器会在很长一段时间后关闭websocket连接。您的网络应用程序无法识别缺少连接,并且仍然显示"已准备好开始对话"。但浏览器不再向服务器发送任何消息。检查此线程:如何重新建立连接

如果你给我们看一些代码,那会有很大帮助。

向致以最良好的问候

最新更新