Можно ли запустить (монтировать в вишневое дерево) класс websocket autobahnn для работы на одном и том же порту, но с другим URL-адресом?Витрины Cherrypy + Autobahn на том же порту
Например:
- http://localhost:8080/web к серверу статического контента (HTML + JavaScript)
- WS: // локальный: 8080/websocketA к серверу некоторые WS связи через класс WSA
- WS: // локальный: 8080/websocketB к серверу некоторые WS связи через класс WSB
Это моя конфигурация автобан & пробег:
self.loop = asyncio.new_event_loop()
asyncio.set_event_loop(self.loop)
factory = WebSocketServerFactory("ws://0.0.0.0:8081", debug = False)
factory.protocol = WSA.SocketClient
coro = self.loop.create_server(factory, "0.0.0.0", 8081)
server = self.loop.run_until_complete(coro)
self.loop.run_forever()
Это моя конфигурация CherryPy & пробег:
cherrypy.config.update({
'server.socket_host' : '0.0.0.0',
'server.socket_port' : 80,
})
cherrypy.tree.mount(WebApi.Web(), '/web', {
'/': {
"tools.staticdir.on": True,
"tools.staticdir.root": os.path.dirname(os.path.abspath(__file__)),
"tools.staticdir.dir": "Web",
"tools.staticdir.index": "index.html"
}
})
cherrypy.engine.start()
На данный момент, WebSocket сервер работает на порту 8081, но я хотел бы, чтобы запустить его на тот же порт, как веб (8080). Если это возможно ..
я сделал что-то похожее на это с WSS: и HTTPS :, я побежал HAProxy, который обработал соединение с веб-браузером, то HAProxy бэкенд направлены либо на моем HTTP-сервер или мой веб-сокетов маршрутизатора (автобан). Таким образом, они были на разных портах на бэкэнде, но они были тем же самым портом на интерфейсе (гапрокси выяснил, что именно). – Greg