Получать сообщения socket.io вне соединения - PullRequest
0 голосов
/ 09 июля 2020

Я знаю, что сообщения могут быть отправлены вне блока кода подключения сокета. Как я могу таким же образом получать сообщения от клиента?

// Create socket.io server attached to current HTTP server
var io = require('socket.io')(server);

// When connection is made, set up some definitions for the server's connections
io.on('connection', (socket) => {
  console.log('Local server connected...');
  socket.on('disconnect', () => {
    console.log('Local server disconnected...');
  });
  
  // I can receive messages here
  socket.on('sendToRemote', function (data) {
    console.log(data);
  });

});

// Messages can be received outside the socket code using this syntax:
io.of('/').emit('runCamera', "Client connected...");

// I can't receive messages here...
// How can the server receive messages outside the socket code?
// I tried using the code below but it didn't work.
// Syntax compiles but doesn't work like the one above.
io.of('/').on('sendToRemote', function (data) {
  console.log(data);
});

1 Ответ

0 голосов
/ 09 июля 2020

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

io.of('/').on('connection', function (socket) {
  socket.on("sendToRemote", function (data) {
    console.log(data);
  });
});
...