Когда я запускаю что-то подобное в моем файле app.js:
socket.emit('3');
Функция происходит со всеми в игре.
функция server.js:
socket.on('3', function() {
global.cashing = true;
});
Я проверил, была ли функция app.js socket.emit () тоже со всеми, помещая в функцию window.location.replace, например:
socket.emit('3');
window.location.replace('otherurl.com');
Я заметил, что игрок, выпустивший функцию, был единственным, чье местоположение было заменено, но функция server.js socket.on () по-прежнему применялась ко всем другим игрокам.
Итак, когда я размещаю функцию socket.emit, функция socket.on затрагивает всех, но мне нужно, чтобы эта функция применялась к одному человеку.
Я пытался сделать что-то вроде этого:
socket.emit('3', id);
, а затем
socket.on('3', function(id) {
if(arguments.length) {
global.cashing = true;
}
});
и
socket.on('3', function(id) {
if(id !== undefined) {
global.cashing = true;
}
});
И это не сработало. Функция по-прежнему применяется ко всем игрокам. (Я также пробовал оператор if с нулем.
Как сделать так, чтобы функция socket.on применялась только к проигрывателю, который его выпустил?
Извините, если это действительно просто, я новичок в node.js:)