2015-08-05 7 views
1

Я довольно новичок в сокетах и ​​хотел предоставить существующему приложению несколько элементов в реальном времени, таких как уведомления. Я использую SailsJS (и паспорт с местной Страт) и хотел услугу, которую можно назвать какСокет «Bind» для пользователя

Notification.send(userID, message); 

это также будет очень хороший способ для всех других видов событий в реальном времени (частные объявления, ...). Но мне нужно знать, как «привязать» сокет к UserID.

Любые идеи или статьи (ничего не нашли в Google - возможно, потому, что я не знаю, что именно искать ...)? Благодарю.

ответ

0

Предполагая, что у вас включен pubsub-hook (он включен до тех пор, пока вы не видите pubsub: false) в своем .sailsrc, вы можете подписаться на свою собственную модель пользователя таким образом, чтобы они получали любые уведомления послал их USERID:

User.findOne(userId).then(function (me) { 
    User.subscribe(req.socket, me, 'message'); 
}) 

Тогда вы можете позвонить, чтобы это посылать уведомления конкретного пользователя в контроллерах:

User.message(recieverUserId, {type: "message", data: notification}); 

Просто измените тип на то, что имеет отношение как тип: «новый матч» и отправить соответствующие данные. Редактировать: в основном, .message() - это способ отправки папок subs pubsub библиотеке подписанной модели. вы также можете передать массив пользователей в User.subscribe

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