【问题标题】:Find all clients connect to socket in Flask-SocketIO在 Flask-SocketIO 中查找所有连接到套接字的客户端
【发布时间】:2020-11-17 16:00:36
【问题描述】:

在Flask结束,此时想用Flask-Socket.IO开发一个聊天服务应用,想知道连接到Server的所有客户端。我该怎么做?

服务器端:

socketio = SocketIO(app,cors_allowed_origins="*")
rooms = list()
@socketio.on('Register')
def handle_message(username):
    print(str(username) + ' Registered just now! : New User :))')
    rooms.append(username)
    join_room(username)
    emit('Register',"Success",room=username)
    clientIp = request.connection.remoteAddress
    user = Users_database(username=username, ip=clientIp, online_status=True)
    session.add(user)
    session.commit()


【问题讨论】:

    标签: python flask socket.io flask-socketio


    【解决方案1】:

    socket io 服务器有四个事件。

    1. 连接:客户端连接服务器时触发;
    2. 断开连接:客户端与服务器断开连接时触发;
    3. message:客户端使用send()函数发送字符串数据时触发;
    4. json:客户端使用send()函数发送json数据时触发;

    也许你可以用下面的代码来做。

    @socketio.on('connect')
    def connect():
        dosomething()
    
    @socketio.on('disconnect')
    def disconnect():
        dosomething()
    

    【讨论】:

    • 谢谢,你知道我怎么知道谁掉线了吗?
    • 同理,你只需要在你的服务器程序中监听断开事件。
    猜你喜欢
    • 2022-08-18
    • 1970-01-01
    • 1970-01-01
    • 2015-02-08
    • 2018-07-21
    • 2021-02-03
    • 1970-01-01
    • 2019-05-30
    • 2017-02-25
    相关资源
    最近更新 更多