将Zope与socket io集成



有没有一种方法可以使用Python2.6.8和socket-io集成Zope2(2.13.19(?

我发现https://python-socketio.readthedocs.io/en/latest/但它似乎不符合要求。

Zope包含一个传统的HTTP服务器,但您可以编写一个ZEO客户端,该客户端将使用socketio库并与Zope的事务集成。

似乎至少使用eventlet的版本应该可以在Python 2.7下实现。https://python-socketio.readthedocs.io/en/latest/intro.html#server-示例

您使用的是哪种Plone版本?

为了实现这一点,我过去使用了一种略有不同的方法。我使用的是一个小型Pyramid应用程序,它正在实现socketio(类似于这个库的WSGI方式(,并订阅Redis PubSub频道。Plone使用事件处理程序将消息发送到Redis通道,然后由Pyramid应用程序使用该通道并发送到套接字。

上面的这个库应该可以工作,而且使用它的简单方法与我所做的相同,作为一个WSGI应用程序和消息传递。

从即将发布的Plone 5.2开始,您可以在WSGI上运行Plone,甚至可以在Python 3下运行。这可能更适合,再加上提供socket.io支持的WSGI应用程序。

该库还支持Redis以支持多服务器。

可选支持多个服务器,通过Redis或RabbitMQ等消息队列连接。

与Zope事务的集成是可行的,我也不得不为Redis消息这样做。

在社区论坛上也有一个关于这个话题的有趣话题:https://community.plone.org/t/plone-socketio-websockets/6453/14

最新更新