Я работаю с 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)
Может ли кто-нибудь помочь мне