我想知道是否有一种方法可以直接在两个(或更多)烧瓶-socketio服务器之间进行通信。我希望在服务器之间传递信息,并让客户端连接一个单一的web套接字服务器,该服务器将拥有来自其他服务器的所有组合逻辑和数据。
我在JS Socket IO服务器到服务器中找到了这个例子,解决方案是使用socket.io-client连接到另一个服务器。
我看过了Flask文档和其他资源,但是看起来它并没有一个客户端组件。
有什么建议或想法吗?
发布于 2016-01-14 15:16:18
烧瓶-SocketIO2.0可以(也许)做你想做的事。这将在文档的使用多个工人部分中解释。
基本上,服务器被配置为连接到共享消息队列服务(例如redis),然后在它们前面的负载均衡器使用粘性会话将客户机分配给池中的任何服务器。广播操作通过在队列上传递消息,在服务器之间自动协调。
作为附加功能,如果使用此设置,则可以让任何进程连接到消息队列为客户端发布消息,因此,例如,您可以从工作人员或其他非SocketIO服务器的辅助进程向客户端发出事件。
从您的问题来看,不清楚您是希望实现这样的东西,还是希望服务器出于不同的原因进行通信。当前不支持在队列上发送自定义消息,但是您的问题给了我一个想法,这可能对某些场景有用。
就使用SocketIO客户端而言,正如您所提到的问题一样,这种方法也应该有效。您可以使用这个Python包:https://pypi.python.org/pypi/socketIO-client。如果您走这条路线,您可以让服务器成为客户端,并接收事件或连接房间。
https://stackoverflow.com/questions/34778341
复制相似问题