我使用Python 3.5
,Flask
和Meinheld
网络套接字中间件来提供套接字。这是服务器端代码示例:
@app.route('/chat')
def chat():
ws = request.environ.get('wsgi.websocket')
while True:
m = ws.wait()
if m is None:
break
ws.send(m)
return ""
客户端代码示例:
var s = new WebSocket("ws://localhost:4567/chat");
但是,当我在本地模式下运行时,一切正常,但是当我将它添加到docker容器中时,我总是得到这样的错误:
与'ws:// localhost:4567 / chat'的WebSocket连接失败:WebSocket握手期间出错:意外响应代码:500
在远程服务器或本地环境中运行docker容器的位置无关紧要,错误始终相同。所有必要的端口都暴露在外。