3

我最近发现 autobahn python 和 js 是一种建立 pub/sub 服务器和相应客户端的舒适方法,即使使用 rpc 调用也是如此。

浏览完教程后,我设置了一个测试版本,其中一个 websocket 服务器和一个运行在同一端口上的 web 服务器。服务器通过 websocket 定期向客户端发送数据。用户获取的 html 位于 localhost 根目录上。一切正常。

但是,我想要完成的是:设置一个发布/订阅服务器和一个在同一个端口上监听的网络服务器。

教程只展示了如何在两个不同的端口上设置它们(如http://autobahn.ws/python/tutorials/pubsub所示)。

我对python和高速公路很陌生,尤其是扭曲。任何建议都会非常好!

非常感谢!

马克

4

3 回答 3

1

当使用 WAMP 同时让 HTTP 和 WS 服务器在同一个端口上侦听时,您需要按照此处WampServerFactory的说明手动启动您的实例。

factory = WampServerFactory("ws://localhost:8080")
factory.protocol = YourServerProtocolClass
factory.startFactory() # <--- need to call this manually
resource = WebSocketResource(factory)
root = File(".")
root.putChild("ws", resource)

有关详细信息,请参阅此完整示例

于 2014-01-30T01:16:04.287 回答
1

当然。您可以使用 Autobahn 在一个端口上运行 WAMP/WebSocket 服务器普通的旧 Web 服务器。这是纯 WebSocket的示例,是 WAMP 的示例。

免责声明:我是 Autobahn 的作者,为 Tavendo 工作。

于 2013-04-29T22:37:00.787 回答
0

我会将 nginx 作为前端,将每个调用转发到 pubsub 或 web ......最近的 Nginx 支持 WebSocket 转发。

或者你用 Twisted 写一些类似的东西:)

另一种选择是适应Twisted.webautobahn.websocket.WebSocketServerProtocol及其子类autobahn.wamp.WampServerProtocol。这应该是可能的。

于 2013-04-27T03:14:37.800 回答