3

我正在尝试制作一个类似于 Facebook 的半实时通知系统,为此我期待使用长轮询而不是盲目轮询(每 N 秒轮询一次)。

是的,我没有使用 Apache,我在 Nginx 上可以处理这种类型的轮询。

现在出现了一个问题,我阅读的有关长轮询主题的所有教程都显示了示例,其中如果没有返回数据然后再次轮询,ajax 请求会在 30-50 秒内超时,这对我来说毫无意义,因为以前我曾经每 30 秒轮询一次服务器以检查通知,长轮询如何使情况变得更好?它仍将每 30 - 50 秒重新连接一次。

出于这个原因,我认为将 max_execution_time 从默认的 60 更改为 300 或 400 可能是一个选项,然后在超时和重新连接之前等待至少 5 分钟的请求进行轮询。

我可以期待这样做有什么不好的副作用吗?这种方法有缺陷吗?还是有更好的方法?

谢谢你。

4

1 回答 1

3

更好的方法是使用针对此类任务优化的后端,例如node.js.

但是,如果您想使用 PHP,则没有理由反对提高最大执行时间。

于 2011-04-28T12:51:38.700 回答