websocket._exceptions.WebSocketBadStatusException:握手状态404未找到

时间:2019-05-02 14:30:26

标签: python python-3.x flask websocket

我正在尝试通过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编程的新手。

1 个答案:

答案 0 :(得分:2)

现在已经1岁了,但是基本上websockets和socket.io是创建套接字的两种不同方法。它们不兼容。您有一个socket.io服务器,但有一个websocket客户端。更改任何一个以匹配另一个,它应该起作用。