为了测试基于 flask 实现的 socket.io server 端的功能,除了使用浏览器端 js 测试之外,我还想看看诸如 python,C# 这样的客户端的实现是否支持 flask 的 session 机制。即是否能够正常获取到 session id。
经过测试,server 端确实可以正常获取到 session id。
代码
import socketio
# 创建 Socket.IO 客户端实例
sio = socketio.Client()
# 当连接成功时的处理函数
@sio.event
def connect():
print("Connected to server")
sio.emit("login", {"id": "test", "name": "python client test"})
# 当收到自定义事件时的处理函数
@sio.event
def my_event(data):
print("Received data:", data)
# 启动 Socket.IO 客户端
if __name__ == "__main__":
# 连接到 Socket.IO 服务器
sio.connect("http://localhost:5000/socket.io")
sio.wait()
错误信息
websocket-client package not installed, only polling transport is available
pip install "python-socketio[client]"
注意代码顺序
先监听 connect 事件,然后再建立 sio.connect 连接到 server 端,否则触发不了 connect 事件
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式