Я пытаюсь связаться с веб-сокетом Flask из скрипта Python. Но я получаю следующее исключение.
Traceback (most recent call last):
File "client.py", line 5, in <module>
socket = create_connection("ws://127.0.0.1:5000")
File "C:\Users\anyms\AppData\Local\Programs\Python\Python37-32\lib\site-packages\websocket\_core.py", line 514, in create_connection
websock.connect(url, **options)
File "C:\Users\anyms\AppData\Local\Programs\Python\Python37-32\lib\site-packages\websocket\_core.py", line 226, in connect
self.handshake_response = handshake(self.sock, *addrs, **options)
File "C:\Users\anyms\AppData\Local\Programs\Python\Python37-32\lib\site-packages\websocket\_handshake.py", line 79, in handshake
status, resp = _get_resp_headers(sock)
File "C:\Users\anyms\AppData\Local\Programs\Python\Python37-32\lib\site-packages\websocket\_handshake.py", line 160, in _get_resp_headers
raise WebSocketBadStatusException("Handshake status %d %s", status, status_message, resp_headers)
websocket._exceptions.WebSocketBadStatusException: Handshake status 404 NOT FOUND
app.py
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)
client.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()
Если я пишу HTML-страницу как клиент, она работает нормально, но я не могу подключиться из своего скрипта на python.
Когда я использую ws://echo.websocket.org
, он работает нормально, я в замешательстве, я новичок в программировании websocket.