2017-02-27 82 views
0

我在我的防火牆上運行了120端口,並且在我的服務器上打開ufw端口(Ubuntu 16.04) 但運行此代碼時;Socket.io EADDRNOTAVAIL錯誤

var app = require('express')(); 
var http = require("http").createServer(app); 
var io = require("socket.io")(http); 
http.listen(120, "xxxx.xxx.xx"); 


io.on('connection',function(socket){ 
console.log("A user is connected"); 
}); 

我得到這個錯誤;

throw er; // Unhandled 'error' event 
    ^

Error: listen EADDRNOTAVAIL xxxx.xxxxxx:120 
    at Object.exports._errnoException (util.js:870:11) 
    at exports._exceptionWithHostPort (util.js:893:20) 
    at Server._listen2 (net.js:1224:19) 
    at listen (net.js:1273:10) 
    at net.js:1382:9 
    at nextTickCallbackWith3Args (node.js:452:9) 
    at process._tickCallback (node.js:358:17) 
    at Function.Module.runMain (module.js:444:11) 
    at startup (node.js:136:18) 
    at node.js:966:3 

回答

0

可能是端口120已被別的東西使用。

您可以使用netstat來看看什麼是端口上偵聽:

sudo netstat -plnt | grep ':120' 

提及的另一件事是,低端口有時保留或封鎖 - 你可能只想嘗試更高的端口,「1337 '總是對NodeJS有好處:-)

+0

我得到一些錯誤先生。我嘗試了3000端口。但我也得到了一些錯誤:(這個代碼塊在Digital Ocen上工作,但不能在微軟Azure上工作.. –

+1

當我寫sudo netstat -plnt | grep'時有一樣東西:120'我沒有得到任何東西 –