Как показать подключенного пользователя онлайн с помощью храповика?

Подскажите, пожалуйста, как показать подключенного пользователя онлайн с помощью храповика? Я имею в виду, что я хочу отправить какой-то userid на сервер и передать этот идентификатор всем другим подключенным пользователям, показывая, что этот userid находится в сети.


person user2886149    schedule 16.10.2013    source источник


Ответы (1)


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

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

После того, как пользователь войдет в систему, подключится и т. д., вы должны отправить сообщение об этом факте в WebSocket, а в вашей функции WebSocket onMessage обработать это событие (добавить userId в список подключенных пользователей или удалить его, если он отключен).

Все, что вам нужно, находится здесь: http://socketo.me/docs/hello-world

person Patryk    schedule 16.10.2013
comment
Я реализовал push-уведомление с помощью храповика, но я также хочу показать, что подключенный пользователь онлайн может дать какую-то ссылку или какой-то пример, потому что я застрял на этом этапе, мне нужна помощь. - person user2886149; 16.10.2013
comment
Можете ли вы в настоящее время увидеть, сколько пользователей подключено с помощью ваших push-уведомлений (путем прослушивания изменений WebSocket)? - person Patryk; 16.10.2013
comment
да, я могу видеть их IP-адрес и идентификатор сеанса, но мне нужно передать какой-то идентификатор, чтобы я мог определить, какой пользователь находится в сети - person user2886149; 16.10.2013
comment
Но у вас нет их в какой-то базе данных или что-то в этом роде? У вас должны быть идентифицируемые пользователи. Если нет, то, возможно, идентифицировать их по IP-адресу и другим уникальным данным, которые они предоставляют? - person Patryk; 16.10.2013
comment
bt как я могу идентифицировать пользователя по ip, потому что пользователь может получить доступ к приложению из любого места. и да, у меня есть идентификатор пользователя в моей базе данных, и у них есть уникальный идентификатор - person user2886149; 17.10.2013