Как подключить клиента к удаленному node.js серверу с помощью socket.io - PullRequest
0 голосов
/ 20 марта 2020

Я получаю клиентскую часть на хосте. И я запускаю сервер на моем компьютере. Я могу соединить клиент и сервер, когда использую локальный хост, но не могу, когда пытаюсь подключить клиент к указанному c IP моего компьютера.

Вот как я продолжаю:

на стороне сервера:

const server = http.createServer();
server.listen(port, 'localhost');
const io = socket(server);

на стороне клиента:

const socket = io.connect('http://localhost:3000');

(это помогло мне: Подключение к указанному c Ip-серверу с Socket.io )

Когда я заменяю localhost на ip, у меня возникает эта проблема на моей стороне сервера:

events.js:200
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRNOTAVAIL: address not available 123.123.123.123:3000
    at Server.setupListenHandle [as _listen2] (net.js:1289:21)
    at listenInCluster (net.js:1354:12)
    at doListen (net.js:1493:7)
    at processTicksAndRejections (internal/process/task_queues.js:82:21)
Emitted 'error' event on Server instance at:
    at emitErrorNT (net.js:1333:8)
    at processTicksAndRejections (internal/process/task_queues.js:81:21) {
  code: 'EADDRNOTAVAIL',
  errno: 'EADDRNOTAVAIL',
  syscall: 'listen',
  address: '123.123.123.123',
  port: 3000
}

Почему он сказал адрес не доступен? (это не совсем 123.123.132.123 конечно)

Я не понимаю, как я могу подключить клиента с любого компьютера к серверу, запущенному на моем компьютере?

1 Ответ

0 голосов
/ 20 марта 2020

В следующей строке вы говорите своему серверу прослушивать localhost:

server.listen(port, 'localhost');

Удалите locahost, если хотите прослушивать с неопределенного адреса (0.0.0.0 для IPv4) или установите желаемый IP.

server.listen(port);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...