我正在尝试通过python脚本与Flask Websocket通信。但是我遇到了以下异常。
from flask import Flask
from flask_socketio import SocketIO, send
app = Flask(__name__)
app.config["SECRET_KEY"] = "uhjsbajksHGhksajjf^&*8*()"
socketio = SocketIO(app)
@socketio.on("message")
def message(msg):
print("Message received: {}".format(msg))
send(msg, broadcast=True)
@socketio.on("connect")
def connect():
print("Connected!")
if __name__ == "__main__":
socketio.run(app)
app.py
#!/usr/bin/python
from websocket import create_connection
socket = create_connection("ws://127.0.0.1:5000")
socket.send("hello, world")
result = socket.recv()
print("Received: {}".format(result))
socket.close()
client.py
ws://echo.websocket.org
如果我将HTML页面作为客户端编写,则可以正常工作,但无法通过python脚本进行连接。
当我使用instr
时,它工作正常,我很困惑,我是websocket编程的新手。
答案 0 :(得分:2)
现在已经1岁了,但是基本上websockets和socket.io是创建套接字的两种不同方法。它们不兼容。您有一个socket.io服务器,但有一个websocket客户端。更改任何一个以匹配另一个,它应该起作用。