我最近发现autobahn python和js是建立发布/订阅服务器和相应客户端的一种舒适方法,即使使用rpc-calls也是如此。
在查看教程之后,我设置了一个测试版本,其中包含websocket服务器和在同一端口上运行的Web服务器。服务器通过websockets定期向客户端发送数据。用户获取的html位于localhost根目录下。一切正常。
但是,我想要完成的是:设置发布/订阅服务器和在同一端口上侦听的网络服务器。
教程仅显示如何在两个不同的端口上设置这些端口(如http://autobahn.ws/python/tutorials/pubsub所示)。
我对蟒蛇一般非常新,特别是高速公路。 任何建议都会很好!
非常感谢!
马克
答案 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。它应该。