Я хотел бы создать живой центр уведомлений с помощью Web Socket в Python.
У меня есть функция, которая отправляет / отправляет сообщение конкретному пользователю.
Я читал об идентификаторе сокета и комнате. Я думаю, что есть два способа прямого взаимодействия с пользователем, используя обе функции из Socket IO.
First
В документации сказано, что каждый клиент / сокет, подключенный к серверу сокетов, давал уникальный сокет # id и присоединялся к комнате, идентифицируемой по id.
У меня есть идея, что мне не нужно снова создавать комнату для пользователя, и просто с помощью этой комнаты по умолчанию.
Используя их, я хочу создать отображение идентификатора сокета # с идентификатором пользователя (зарегистрированным идентификатором пользователя) и сохранить его в Redis. Например, если я хочу отправить сообщение с идентификатором пользователя, мне просто нужно найти его идентификатор сокета #.
Вопрос для первого способа заключается в том, будет ли идентификатор сокета # идентичным
если клиент отключится и скоро снова подключится, соединение может быть
установлено?
Второе:
Я читал много источников об использовании комнаты для прямого сообщения. Для подключенного клиента или сокета мне просто нужно создать новую комнату с идентификатором идентификатора пользователя, отправленного клиентом (после входа пользователя).
Преимущества этого способа в том, что если пользователь использует один и тот же идентификатор пользователя для нескольких устройств, я могу сгруппировать их в комнате. Итак, если я хочу уведомить все устройства, мне просто нужно отправить сообщение для комнаты id пользователя.
Вопрос в том, будет ли пользователь перемещен из комнаты по умолчанию
от первого пути или они будут на 2 комнаты (1 по умолчанию, 1 указанная комната
по идентификатору пользователя)?
Спасибо