【问题标题】:Connecting to Flask SocketIO implementation连接到 Flask SocketIO 实现
【发布时间】:2018-09-08 19:14:40
【问题描述】:

我在尝试连接到 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: Handshake status 200 OK。我见过的与 SocketIO 连接的所有示例都涉及使用 javascript 的静态页面,但我想将其用作桌面应用程序或将其与 Kotlin 一起使用。

我错过了什么?

【问题讨论】:

  • 有什么问题?
  • 只是我得到了WebSocketBadStatusException,并且无法从服务器获得响应。但是刚从 lain iwakura 那里得到了协议不兼容的信息。
  • 你的问题与PyQt无关

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


【解决方案1】:

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

检查这个question

【讨论】:

  • 哦,我明白了,恐怕会是这样。哦,非常感谢您的回答和时间!我想我会切换到 Websockets。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-06
  • 2020-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-30
  • 1970-01-01
相关资源
最近更新 更多