Не удается получить данные на сервер узла на моем компьютере из клиентской программы, запущенной в другой системе в той же сети - PullRequest
0 голосов
/ 28 марта 2019

Я использую сервер 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);
}
}

1 Ответ

0 голосов
/ 30 марта 2019

Решил эту проблему, введя IP-адрес системы 192.168.x.x как в моем сервере, так и в клиентской программе.

...