Вернуть значение из socket.io на клиентскую сторону - PullRequest
0 голосов
/ 22 января 2019

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

клиент:

    socket.emit('returnDrawer');

    socket.on('returnDrawer', function(ret)
    {
        console.log("id:", ret);
    })

Сервер:

socket.on('returnDrawer', function() {
    return users[currentDrawer].ioid;
});

но мой обратный вызов на стороне клиента вообще не вызывается с текущим идентификатором ящика, возможно, потребуется некоторая помощь.

Ответы [ 2 ]

0 голосов
/ 22 января 2019

Вы можете использовать разные имена событий для отправки и получения.Это поможет вам хорошо масштабироваться в будущем.

Например, вышеприведенный код можно записать в виде: -

// implementing client side
  socket.emit('returnDrawer');
  socket.on('returnDrawerResponse', function(message) {
    console.log('id', message)
  });

Для серверной части вы можете написать так:

// implementing server side
  socket.on('returnDrawer', function(){ 
   // write Your awesome code here
   const userId = users[currentDrawer].ioid()
   socket.emit('returnDrawerResponse', userId)
 })
0 голосов
/ 22 января 2019

Вы пробовали что-то вроде:

клиент

socket.emit('giveMeDrawer');

socket.on('returnDrawer', function(ret) {
  console.log("id:", ret);
})

Сервер

socket.on('giveMeDrawer', function() {
  socket.emit('returnDrawer', users[currentDrawer].ioid);
});

Или следуйте этому руководству (из документации по socket.io).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...