#node.js #socket.io
#node.js #socket.io
Вопрос:
Я использую NodeJS как сервер, так и клиент. (Без веб-браузеров) Сервер, похоже, работает, но клиент не подключается. Я попытался установить порт в настройках, но это не сработало. Я пытаюсь подключиться к порту 3000 через telnet, и он подключается к чему-то, поэтому сервер прослушивает. Чего мне здесь не хватает?
Сервер:
var express = require('express');
var app = express();
var path = require('path');
var server = require('http').createServer(app);
var io = require('socket.io')();
var port = 3000;
server.listen(port,"127.0.0.1", () => {
console.log('Server listening at port %d', port);
});
Клиент:
const io = require('socket.io-client');
const socket = io("http://127.0.0.1:3000",{reconnect:false});
socket.on('connect', function () {
console.log('connected to the server');
});
Ответ №1:
Как упоминалось на официальной странице github socket-io, вам необходимо передать экземпляр http-сервера на сервер socket-io:
...
var server = require('http').createServer(app);
var io = require('socket.io')(server);
...