когда подключается пользователь- создаётся соккет и заносится в слайс из типа SocketsOnline.
Если нужно разослать сообщение всем- я перебираю весь слайс и отсылаю сообщение всем.
Но я хочу параллельно хранить указатели на сокеты у каждого пользователя типа UsersOnline.
Тоесть когда подключился сокет 1- я знаю, что это пользователь id333 -я создаю объект в слайсе типа UsersOnline и хочу кинуть ссылку на сокет 1.
Если подкл сокет 2, пользователь id333 - я добавляю ещё.
Если пользователь отключился- я удаляю сокет из SocketsOnline и всё норм.
Поидее- если создать указатели на сокеты у пользователя, то при удалении из SocketsOnline он должен исчезнуть в UsersOnline.
Но если отключается сокет, то сам UserOnline не удалится. (Как это подчищать?)
Вопрос собственно- как это реализовать? или,может,-нужна другая логика?
При отключении сокета пройтись проверить наличие других сокетов от совпадающего UserId, если таких нет - убрать пользователя из UsersOnline. Технически - defer проверочной функции/метода после успешной авторизации пользователя, когда заносится ссылка на него в слайс UsersOnline