Как я могу отправить сообщение определенному клиенту c в пространстве имен, в комнате? - PullRequest
0 голосов
/ 07 мая 2020

У меня есть сервер flask, использующий flask -socketio, и Angular интерфейс в качестве панели управления, и несколько клиентов. Панель управления (также является клиентом) подключена к другому пространству имен («/ панель управления»). Точно так же клиенты также подключаются к другому пространству имен («/ clients»), а также назначаются соответствующим комнатам (по стране).

Теперь я хочу отправить событие определенному c пользователю (используя request.sid) в комнате пространства имен клиента.

PS: Я впервые задаю вопрос вот так уж извините метод: D

1 Ответ

0 голосов
/ 09 мая 2020

, поэтому функция emit () имеет параметр с именем room, в котором вы можете передать request.sid в

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

Возможно, было бы идеально создать свой собственный метод для отображения того, в каких комнатах находятся пользователи. и какие сокеты принадлежат какому подключенному пользователю в зависимости от сложности вашего приложения. В моем случае, когда пользователи в комнатах получали разные сообщения, мне нужно было.

здесь просто пример, чтобы отобразить концепцию


rooms = {
    room1: {
           user1 : {
                   username: "rickybobby",
                   sid: 12ed0u9j1d9a08hy409jdsdf
           }
    },
    roomN : {...userN}
}
...