我正在工作的公司使用Perl处理所有“后端相关”的内容。但是,我们希望通过浏览器在服务器进程和连接的客户端之间进行一些实时通信。
我们还使用Apache作为Web服务器,使用 mod.perl 。这是我的第一个问题,我没有看到任何实际的方法将WebSocket-Server组合在那个constelation中。也许有一个我还没找到?
唯一真正认真对待该主题的是 Mojolicious 。但是我还没有那么有经验,所以如果有人可以说我是否可以在我目前的mod-perl环境中使用它,我会很高兴。我想我也必须让它作为独立的网络服务器进程运行,不是吗?
这让我想到了第二个问题。什么是最佳实践,如果你有多个perl文件,它们可以在 Apache / modperl 上运行某些东西,但你想让所有连接用户知道事情。我的意思是,所有这些脚本都是通过 XHR 访问的,但有些操作需要其他用户获取信息。目前,我们进行了经典的 ajax民意调查。
我正在努力解决的问题是,如果有一个独立运行的专用websocket服务器,所有这些脚本都需要以某种方式与这个过程进行通信吗?如何做到这一点?管?套接字?共享内存?
理论上,如果我选择使用这样一个独立的 ws服务器解决方案,我可以用任何语言编写它吗?甚至可以是Ruby或Node。我只是想知道这是否是最好的方法,或者是否有一个更好的解决方案,它更集成在现有的perl / modperl结构中。
TL; DR
最好的做法是拥有一个独立的独立网络套接字服务器,它与其他 Apache / modperl 脚本及其连接的客户端进行通信?
答案 0 :(得分:1)
您可以查看AnyEvent CPAN模块: http://metacpan.org/pod/AnyEvent
有了它,您可以编写自己独立的事件驱动的WebSocket服务器,也可以在google或AnyEvent的perldoc中找到很多示例。