当使用诸如长轮询的彗星技术时,如果长时间连接保持空闲一段时间,则NAT /防火墙/负载均衡器/等将有可能丢弃连接。在这种情况下,TCP keepalive是否有帮助?浏览器甚至设置TCP keepalive标志?客户端/服务器如何发现负载均衡器断开了连接?
答案 0 :(得分:0)
您需要使连接处理更加强大。我正在为我的应用程序使用cometd,你需要设置连接断开处理。我认为大多数人会这样工作。您的客户端将能够知道何时断开连接并重新连接/重新订阅该频道。所有描述(对于cometd)here。
我建议实现像cometd这样的东西,并在Firebug中观察XHR请求。你会学到很多关于它是如何工作的(并且像我一样对它感觉更舒服)。