【发布时间】:2011-07-07 00:56:15
【问题描述】:
当使用长轮询等彗星技术时,如果长连接保持空闲一段时间,NAT/防火墙/负载均衡器/等可能会断开连接。 TCP keepalive 在这种情况下是否有帮助。浏览器是否设置了 TCP keepalive 标志?客户端/服务器如何发现负载均衡器断开了连接?
【问题讨论】:
标签: javascript ajax comet long-polling
当使用长轮询等彗星技术时,如果长连接保持空闲一段时间,NAT/防火墙/负载均衡器/等可能会断开连接。 TCP keepalive 在这种情况下是否有帮助。浏览器是否设置了 TCP keepalive 标志?客户端/服务器如何发现负载均衡器断开了连接?
【问题讨论】:
标签: javascript ajax comet long-polling
您需要使您的连接处理更加稳健。我正在为我的应用程序使用 cometd,您需要为此设置连接断开处理。我想大多数人都会这样工作。您的客户端将能够知道何时断开连接并重新连接/重新订阅频道。这一切都被描述了(对于 cometd)here。
我建议实现类似 cometd 的功能并在 Firebug 中观察 XHR 请求。你会学到很多关于它是如何工作的(并且像我一样对它感到更舒服)。
【讨论】: