我正在与Erlang和PHP进行Comet聊天。但现在我认为我遇到了一个问题:轮询连接将在大约一定时间内自动断开连接并重新连接(我将其设置为10秒),因此用户将有一段时间没有连接到聊天服务器。如果用户当时发送消息,则该消息将被丢失(没有人可以接收它)。
在客户端代码中我使用jquery和jsonp来实现轮询连接。有什么好方法可以解决这个问题吗?
提前致谢〜
答案 0 :(得分:1)
你被允许两个并发连接;交错它们,以便一个人正在连接(并将用户的消息推送到服务器)而另一个正在收听。
答案 1 :(得分:1)
在服务器上进行会话过程,在客户端未连接时存储所有消息。如果客户端在某些(可配置的)时间内没有连接,则会话可能会死亡。当客户端连接时,会话可以将所有排队的消息发送到连接。
答案 2 :(得分:0)
当发送消息时,只需立即重新连接jquery并在消息发送时发送消息。