如何向命名空间内、房间内的特定客户端发出?

问题描述 投票:-3回答:1

我有一个flask服务器,使用flask-socketio,Angular前端作为dashboard,和几个客户端。dashboard(也是一个客户端)连接在不同的命名空间("dashboard")。同样,客户端也被连接到不同的命名空间("client"),并且也被分配到各自的房间(国家)。

现在,我想在客户端命名空间的一个房间内向特定的用户发出一个事件(使用 request.sid)。

P.S: 这是我第一次在这里提问,所以请原谅我的方法:D。

python sockets flask socket.io flask-socketio
1个回答
0
投票

所以emit()函数有一个名为room的参数,其实你可以把request.sid传入到

emit('some event', some_data, room=request.sid)

根据你的应用程序的复杂性,创建你自己的方法来映射用户在什么房间,什么插座属于什么连接的用户,这可能是理想的。 在我的案例中,房间里的用户会收到不同的消息,我需要。

这里只是一个例子,以显示这个概念


rooms = {
    room1: {
           user1 : {
                   username: "rickybobby",
                   sid: 12ed0u9j1d9a08hy409jdsdf
           }
    },
    roomN : {...userN}
}
© www.soinside.com 2019 - 2024. All rights reserved.