使用Apache和Perl进行服务器推送的机制

时间:2010-11-04 19:57:26

标签: perl apache comet server-push

我希望通过长轮询或其他标准方法将一些类似HTTP推送的功能添加到在Apache之上使用Perl构建的页面。

有没有办法在不设置Meteor或Stardust等单独服务器的情况下执行此操作?是否有一个有助于服务器代码的模块?除了长期投票之外还有其他办法吗?

1 个答案:

答案 0 :(得分:2)

如果您需要快速而肮脏的修复以避免对当前应用程序或设计进行重大更改,并且您不需要即时更新,那么一种简单的方法是使用从浏览器到服务器的常规AJAX轮询。

换句话说,您将在浏览器中使用javascript每隔几秒检查一次服务器,以查看服务器上是否存在此浏览器会话的任何消息和/或数据。这很可能不会很好地扩展,尤其是轮询超时时间短,并且会耗尽服务器资源,但它可能是一个有用的权宜之计。

重申一下,这只是一个快速修复解决方法 - 一般的共识是你需要使用COMET(可能在你的情况下在一个单独的服务器上)作为一个合适的解决方案(直到websockets到达......) - 看一些好的分析在这些链接中:

http://cometdaily.com/2007/11/06/comet-is-always-better-than-polling/ http://stackoverflow.com/questions/2975290/comet-vs-ajax-polling