【发布时间】:2012-07-10 23:08:17
【问题描述】:
我正在做一个使用long polling的项目,因为nginx服务器会在连接建立1分钟左右后响应504 Gateway Timeout,我在$.ajax中写了错误处理函数所以它可以在收到 504 错误时自动重新连接到服务器。但是虽然我做了这个,但不知道这是否是长轮询机制的最佳实践,这样会在日志中产生大量的504。好像还不够好,应该怎么做呢?
【问题讨论】:
标签: http web tornado long-polling
我正在做一个使用long polling的项目,因为nginx服务器会在连接建立1分钟左右后响应504 Gateway Timeout,我在$.ajax中写了错误处理函数所以它可以在收到 504 错误时自动重新连接到服务器。但是虽然我做了这个,但不知道这是否是长轮询机制的最佳实践,这样会在日志中产生大量的504。好像还不够好,应该怎么做呢?
【问题讨论】:
标签: http web tornado long-polling
您应该在长轮询响应中设置更短的超时时间。通常 30 秒或更短的时间就能解决问题。如果您的服务器在 30 秒内没有要发送的数据,它必须发送一个空响应。然后客户端将发出一个新请求(立即或在暂停后,取决于您希望减少多少延迟;例如,在 Lightstreamer 中,默认情况下我们不会在长轮询周期之间使用任何暂停)。
【讨论】: