Socket Io реагировать не может получать сообщения в комнату - PullRequest
0 голосов
/ 10 ноября 2019

Я работаю с socket.io и реагирую и редуцирую. Настройте соединения и присоединитесь к комнате без проблем. Также излучать Берналь сообщение клиенту работает хорошо. Но когда я пытаюсь отправить сообщение с сервера клиенту комнаты, клиент не получит сообщение. Я пытаюсь варианты сервал, но global.io.sockets.in (req.user.bedrijf) .emit ('klussen', результаты);не будет отправлено или клиент не получит.

Код сервера //server.js

var io = require('socket.io')(server);
global.io = io; //added
io.sockets.on('connection', function (socket) {
  socket.on('room', function (room) {
    socket.join(room);
  });
});

// controller.js

   global.io.emit('klussen', results);
      global.io.sockets.in(req.user.bedrijf).emit('klussen', results);
      res.json({
        results
      });

Когда я использую global.io.emit ('klussen', results);клиент получает сообщение

Код клиента

export function connecttochat(bedrijf) {
    const socket = io();
    return dispatch => {
        socket.on('connect', () => {
            socket.emit('room', bedrijf);
            return dispatch(connect(true));
        });
        socket.on('disconnect', () => {
            return dispatch(connect(false));
          });

    };
}

Этот код работает. Я вижу, что клиент присоединяется к комнате. Я также проверил, что req.user.bedrijf совпадает с клиентом "bedrijf".

Код для получения сообщения

export function liveklussen() {
    const socket = io();
    return dispatch => {
        socket.on('klussen', function (data) {
            alert(data)
            return dispatch(add(data));
        });
    };
}

Когда используется этот код в глобальном сервере.io.emit ('klussen', results) клиент получает это, и я получаю предупреждение (alert (data)

Может ли кто-нибудь помочь мне

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