2012-10-24 2 views
3

Я делаю простой чат в метеор. Как получить список активных пользователей? Есть ли способ получить список текущих подключений/клиентов?Метеор в настоящее время активных пользователей?

+0

u может помещать поле как активное в текущего пользователя, когда он вводит логин или вводит указать изменение комнаты. – crapthings

+0

@crapthings, о чем, когда он отключится? – Harry

ответ

5

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

Я думаю, что вы будете иметь два варианта:

  • Реализовать сердцебиение в клиенте и на сервере для каждого подключенного пользователя. Мне лично эта идея не очень нравится, так как это может привести к увеличению количества интервалов, выполняемых на вашем сервере.

  • Используйте sockjs сервер, чтобы получить открытые сокеты. Meteor.default_server.stream_server.all_sockets() возвращает массив со всеми открытыми сокетами. Вы могли бы сделать так, чтобы в течение одного интервала вы искали изменения (или лучше вы будете слушать изменения самого сервера sockjs, есть способ register, который может быть полезен), сопоставьте открытые сокеты с вашими пользователями и используйте коллекцию для подтолкните его к своим клиентам. Каждый клиент знает свой идентификатор сокета, поэтому сопоставление не должно быть жестким.

Я еще не реализовал его, поэтому это только идеи, с чего начать.

+0

Очень полезно, я буду изучать вариант 2, спасибо! – Harry

+0

Вариант 2 работал для меня. Спасибо, я искал это довольно долгое время ... – Mozfet

Смежные вопросы