最可行的 WebSocket/Perl 解决方案

问题描述 投票:0回答:2

我工作的公司使用 Perl 来处理所有“后端相关”的东西。但是,我们希望通过浏览器在服务器进程和连接的客户端之间使用一些实时通信。

我们还使用 Apache 作为 Web 服务器和 mod.perl。这是我的第一个问题,我没有看到任何在该星座中组合 WebSocket 服务器的实用方法。也许有一个我还没有找到?

唯一真正认真对待这个主题的是Mojolicious。然而我对此还没有那么丰富的经验,所以如果有人能说明我是否可以在我当前的 mod-perl 环境中使用它,我会很高兴。我想我还必须让它作为独立网络服务器进程运行,不?

这引出了我的第二个问题。如果您有多个 perl 文件,它们执行在 Apache/modperl 上运行的某些操作,但您希望让所有连接的用户了解相关情况,那么最佳实践是什么。我的意思是,所有这些脚本都是通过 XHR 访问的,但某些操作需要其他用户获得通知。目前,我们进行经典的 ajax 轮询

我正在努力解决的问题是,如果有一个独立运行的专用Websocket服务器,所有这些脚本也需要以某种方式与这个进程进行通信,对吗?一个人会怎样做呢?管道?插座?共享内存?

理论上,如果我选择使用这样一个独立的ws服务器解决方案,我可以用任何语言编写它,对吧?甚至可以是 Ruby 或 Node。我只是想知道这是否是最好的方法,或者是否有一个更好的解决方案可以更好地集成到现有的 perl/modperl 结构中。

TL;博士
最好的做法是拥有一个 独立的 Web 套接字服务器 来与其余的 Apache/modperl 脚本及其连接的客户端进行通信?

javascript perl apache websocket mod-perl
2个回答
1
投票

您可以查看 AnyEvent CPAN 模块: http://metacpan.org/pod/AnyEvent

有了它,你可以编写自己独立的事件驱动的 WebSocket 服务器,你也可以在 google 或 AnyEvent 的 perldoc 中找到很多示例。


0
投票

自从2012年的OP问题以来,现在CPAN上有了perl模块WebSocket,它易于使用且通用。

© www.soinside.com 2019 - 2024. All rights reserved.