Nodejs: Error: EADDRNOTAVAIL, Unable to assign the requested address

I have the following node.js server running on 172.16.1.218:

var net=require('net'); var server = net.createServer(function (socket) { socket.write("Echo server\r\n"); socket.pipe(socket); }); server.listen(6001, "172.16.1.218"); 

I can connect to it via telnet and it will sound as expected.

I have the following node.js server running on 172.16.1.224:

 var net = require('net'); var server = net.createServer(function (socket) { // Every time someone connects, tell them hello and then close the connection. socket.addListener("connect", function () { sys.puts("Connection from " + socket.remoteAddress); socket.end("Hello World\n"); }); }); // Fire up the server bound to port 7000 on localhost server.listen(6001,"172.16.1.218"); 

But when I try to run it, I get the following error:

 node.js:134 throw e; // process.nextTick error, or 'error' event on first tick ^ Error: EADDRNOTAVAIL, Cannot assign requested address at Server._doListen (net.js:1100:5) at net.js:1071:14 at Object.lookup (dns.js:159:5) at Server.listen (net.js:1065:20) at Object.<anonymous> (/home/hynese/Desktop/test.js:16:8) at Module._compile (module.js:402:26) at Object..js (module.js:408:10) at Module.load (module.js:334:31) at Function._load (module.js:293:12) at Array.<anonymous> (module.js:421:10) 

I disabled all firewalls, etc. I can not understand the meaning of this error. Hope someone can help.

Thank you very much in advance,

+6
source share
1 answer

On 172.16.1.224 you cannot listen on 172.16.1.218 because it is not the IP address of the machine you are listening to.

If you want to listen to this car, use:

 server.listen(6001,"172.16.1.224"); 
+13
source

Source: https://habr.com/ru/post/893589/


All Articles