Паруса.JS WebScoket как создать новый канал?

Как создать новый канал для эмиссии в SAILS.js?

простой

io.sockets.in('ee').emit('messageName', {thisIs: 'theMessage'});

а потом в угловой.js

io.socket.on("ee", function(data){
  console.log(data);
})

не работайте..

1 ответ

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

    1. На стороне клиента перед вызовом маршрута, который мы используем на стороне сервера, добавьте эти коды:

      // Use `io.socket.on()` to listen for the 'hello' event:
      io.socket.on('hello', function (data) {
         console.log('Socket `' + data.id + '` joined the party!');
      });
      
    2. В нужный контроллер маршрута добавьте эти коды:

      // Have the socket which made the request join the "funSockets" room.
      sails.sockets.join(req, 'funSockets');
      
      // Broadcast a notification to all the sockets who have joined
      // the "funSockets" room, excluding our newly added socket:
      sails.sockets.broadcast('funSockets', 'hello', { howdy: 'hi there!'}, req);
      

      Обратите внимание что это » привет там!»сообщение не будет получено клиентом, который только что присоединился. Если вы хотите отправить сообщение всем клиентам, а также новому присоединенному, просто удалите параметр req из широковещательных аргументов.

    Для получения дополнительной информации, пожалуйста, проверьте эту ссылку:
    http://sailsjs.com/documentation/concepts/realtime