Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在用 Erlang 和 PHP 进行 Comet 聊天。但是现在我想我遇到了一个问题:轮询连接会在大约一定时间后自动断开并重新连接(我设置为10秒),所以会有一段时间用户没有连接到聊天服务器。如果此时用户发送消息,则该消息将是死的(没有人可以收到它)。
在客户端代码中,我使用带有 jsonp 的 jquery 来实现轮询连接。有什么好的方法可以解决这个问题吗?
先谢谢了~
允许您有两个并发连接;交错它们,以便一个正在连接(并将用户的消息推送到服务器),而另一个正在收听。
在客户端未连接时存储所有消息的服务器上有一个会话进程。如果客户端在某些(可配置的)时间内没有连接,会话可能会终止。当客户端确实连接时,会话可以将所有排队的消息发送到连接。
发送消息时,只需让 jquery 立即重新连接并在它这样做时发送消息。