Socket.io не работает на Ubuntu 16.04

У меня проблема с socket.io. Когда я запускаю свой код на своем компьютере (локальном), я могу использовать http://IP:120/socket.io/socket.io.js. Однако на моем сервере (Digital Ocean Server Ubuntu 16.04) я ничего не видел по этому адресу. Где моя ошибка? Может кто-нибудь мне помочь? Я использовал функцию createServer и Server, но ни одна из них не работала.

var app = require('express')();
//var http=require('http').Server(app);
var http=require('http').createServer(app);
var io=require('socket.io')(http);
app.get("/",function(req,res){

    res.sendfile(__dirname+"/asd.html");

});


io.on('connection',function(socket) {


    console.log("A User Connected");


});

var port=120;
http.listen(port,'ServerIP');

person Muhammed Almaz    schedule 17.09.2016    source источник


Ответы (1)


Решение связано с настройкой портов, необходимых для связи.
По умолчанию все порты, кроме :80, заблокированы в Digital Ocean.

Сначала вам нужно открыть порт 120:

iptables -I INPUT 1 -i eth0 -p tcp --dport 120 -j ACCEPT
person Simanto    schedule 31.12.2016