我最近发现autobahn python和js作为一种舒适的方法来建立一个pub/sub服务器和相应的客户端,甚至使用rpc调用。
看完教程后,我设置了一个websocket服务器和一个运行在同一端口上的web服务器的测试版本。服务器通过websockets定期向客户端发送数据。用户获得的html位于本地主机根目录下。
然而,我想要完成的是:设置一个pub/sub服务器和一个web服务器监听同一端口。
教程只展示了如何在两个不同的端口上设置这些端口(如http://autobahn.ws/python/tutorials/pubsub所示)。
我对蟒蛇很陌生,尤其是高速公路和扭曲。任何建议都会很好!
非常感谢!
Marc当然。您可以使用Autobahn在一个端口上运行WAMP/WebSocket服务器和一个普通的旧Web服务器。这是一个纯WebSocket的例子,这是一个WAMP的例子。
免责声明:我是Autobahn的作者,为Tavendo工作。
当使用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)
我会把nginx作为前端,将每个调用转发到pubsub或web…最近的Nginx支持WebSocket转发。
或者你可以用Twisted写一些类似的东西:)
另一种选择是将autobahn.websocket.WebSocketServerProtocol
及其子类autobahn.wamp.WampServerProtocol
适应Twisted.web。应该是可能的