python socket.io 客户端测试代码

文章目录

    为了测试基于 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 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式