连接到Flask SocketIO实现

时间:2018-09-08 19:14:41

标签: python python-3.x flask socket.io

尝试连接Flask SocketIO实现时遇到一些问题。我按照示例操作,并使用以下代码设置了服务器:

from flask_socketio import SocketIO, send

application = Flask(__name__)
socketio = SocketIO(application)

@socketio.on('message')
def doStuff(msg):
    print(msg)

if __name__=="__main__":
  socketio.run(application, port=8080)

和Python中的客户端:

import websocket
from websocket import create_connection

ws = create_connection("ws://SERVER_IP:8080/")
print(ws)

print("Sending 'Hello, World'...")
ws.send("Hello, World")
print("Sent")

print("Receiving...")
result =  ws.recv()
print("Received '%s'" % result)
ws.close()

尽管如此,当我尝试连接时,仍然收到 WebSocketBadStatusException:握手状态为200 OK 。我所见过的所有与SocketIO连接的示例都涉及到具有javascript的静态页面,但我想将其用作桌面应用程序或与Kotlin一起使用。

我想念什么?

1 个答案:

答案 0 :(得分:2)

Flask-SocketIO不是WebSocket服务器,而是Socket.IO服务器。您需要使用的客户端需要了解Socket.IO协议,仅WebSocket客户端是不够的。 reference

选中此question