У меня есть два клиента, Клиент 1 отправляет данные в наш сервер Node.js & Express, и сервер генерирует событие, которое может получить только Клиент 2. После этого Клиент 2 получает данные и отображает их.
Ниже приведены коды для Клиента 1:
var socket = io();
socket.emit("match_package", {user_uid, match_uid, room_id, user_data});
Сервер Node.js Express:
var tech = io.of("/");
tech.on("connection", (socket) => {
socket.on("match_package", (data) => {
var match_uid = data.match_uid;
var room_id = data.room_id;
socket.emit(match_uid, room_id);
socket.emit("1", "hello");
}
}
Клиент 2:
var socket = io();
socket.on('connect', () => {
socket.on(user_uid, (data) => {
console.log(data);
})
socket.emit("1", (data) => {
console.log(data);
})
})
match_uid
на стороне сервера совпадает с user_uid
в клиенте 2 (проверено). Вот как это событие видимо только для Клиента 2. Но почему-то на Клиенте 2 console.log
не отображает никаких данных. Я могу гарантировать, что данные получаются хорошо в конце. Но почему-то Клиент 2 его не получает.
Я даже выпустил фиктивное событие "1" из серверной части. Это также не получено Клиентом 2.
Что я тут не так сделал?
Большое спасибо за вашу помощь и время.