2012-07-11 48 views
0

我正在使用长轮询,因为在建立连接1分钟后,nginx服务器将响应504网关超时,我在$ .ajax中编写错误处理函数,以便它可以自动重新连接到服务器收到504错误时。但是,尽管我已经这样做了,但我不知道这是否是长轮询机制的最佳做法,并且这会在日志中产生大量的504。这似乎不够好,所以我应该怎么做?什么是自动重新建立长轮询请求的最佳方式?

回答

1

您应该在较长的轮询响应中减少超时。通常30秒或更短的时间就可以实现。如果在30秒内你的服务器没有数据要发送,它必须发送一个空的响应。然后,客户端会立即发出一个新请求(立即或暂停后,取决于您希望减少延迟的次数;例如,在Lightstreamer中,默认情况下,我们不会在长轮询周期之间使用任何暂停)。

+0

很好的答案,非常感谢!更详细的,我怎么能在Tornado上做到这一点,我没有看到有关Tornado文档的请求时间计算和处理的任何事情。 – Reorx 2012-07-12 08:00:53

相关问题