Я использую сервер node.js на порту 3000, и он отлично работает, когда я получаю доступ к localhost: 3000 в моей локальной системе. Я также печатаю координаты мыши на консоли, используя
socket.broadcast.emit ( 'мышь', данные);
Но я хотел, чтобы это работало на удаленной системе, такой как мой мобильный телефон. Поэтому, когда я поднял глаза, я обнаружил, что мне следует изменить код моего сервера с
.listen (3000);
до
.listen (3000, '0.0.0.0');
и используя мой локальный IP-адрес 192.168.x.x: 3000, я смог получить клиент на своем мобильном телефоне. Но я не могу получить координаты мыши на консоли, когда я получаю доступ к клиенту на своем мобильном телефоне. Я использовал socket.io для создания веб-сокета. И мой мобильный телефон и ноутбук подключены к одному и тому же Wi-Fi. Я также попытался отключить брандмауэр.
Код моего сервера:
var server = app.listen(3000,'0.0.0.0');
app.use(express.static('public'));
var socket = require('socket.io');
var io=socket(server);
io.sockets.on('connection',newConnection);
function newConnection(socket)
{
console.log('new connection:' + socket.id );
socket.on('mouse',mouseMsg);
function mouseMsg(data){
socket.broadcast.emit('mouse',data);
console.log(data);
}
}