Socket.io EADDRNOTAVAIL错误

时间:2017-02-27 13:23:46

标签: node.js sockets websocket socket.io

我在我的防火墙上使用了120端口并在服务器上打开了ufw端口(Ubuntu 16.04) 但是在运行此代码时;

 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

1 个答案:

答案 0 :(得分:0)

可能是端口120已被其他东西使用。

您可以使用netstat查看该端口上正在侦听的内容:

sudo netstat -plnt | grep ':120'

另外需要提及的是,低端口有时会被保留或阻塞 - 您可能只想尝试更高端口,' 1337'对于NodeJS总是有用的: - )