连接到Flask SocketIO实现

问题描述 投票:0回答:1

我在尝试连接到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一起使用。

我错过了什么?

python python-3.x flask socket.io
1个回答
2
投票

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

检查这个question

© www.soinside.com 2019 - 2024. All rights reserved.