使用 Web 服务实现服务器到客户端回调(事件)的好方法是什么?
我们已经有一个基于 SOAP 的 API,由在 Apache 上运行的 mod_perl 公开,但它是客户端到服务器的一种方式。我们需要通知客户端其他客户端对服务器的某些更改。
完成这项工作的好方法是什么? perl 的可用模块?
我们想到的一件事是发出一个长时间运行的 Web 请求,该请求最终会在事件发生时做出响应,但是如果连接了很多客户端,这似乎会使太多的 mod_perl 进程保持运行。
最佳答案
一种方法是您提到的方法,即长时间运行的民意调查。
另一个是websockets .有许多 Perl 框架能够处理 websockets 请求,其中之一是 Mojolicious .
请参阅 Mojolicious::Lite#WebSockets 上的文档举一些例子。
在您的情况下,我建议您将 websockets webapp 与 mod_perl 服务器分开运行,并“仅”使用 Apache 反向代理 mojolicious 应用程序。
关于web-services - 客户端的 mod_perl 服务器事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4759934/