如何设置在同一端口上侦听的高速公路发布/订阅服务器和高速公路网络服务器

时间:2013-04-26 10:38:37

标签: python websocket twisted publish-subscribe autobahn

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

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

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

教程仅显示如何在两个不同的端口上设置这些端口(如http://autobahn.ws/python/tutorials/pubsub所示)。

我对蟒蛇一般非常新,特别是高速公路。 任何建议都会很好!

非常感谢!

马克

3 个答案:

答案 0 :(得分:1)

不确定。您可以使用Autobahn在一个端口上运行WAMP / WebSocket服务器一个普通的旧Web服务器。这是纯WebSocket的example,WAMP是here

免责声明:我是高速公路的作者并为Tavendo工作。

答案 1 :(得分:1)

在HTTP和WS服务器在同一端口上侦听时使用WAMP时,您需要按照here的说明手动启动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)

有关详细信息,请参阅this complete example

答案 2 :(得分:0)

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

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

另一种选择是将autobahn.websocket.WebSocketServerProtocol及其子类autobahn.wamp.WampServerProtocol改编为Twisted.web。它应该