【问题标题】:nodejs: Error: EADDRNOTAVAIL, Cannot assign requested addressnodejs:错误:EADDRNOTAVAIL,无法分配请求的地址
【发布时间】:2011-10-13 08:39:39
【问题描述】:

我在 172.16.1.218 上运行以下 node.js 服务器:

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");

我可以 telnet 进入它,它会按预期回显。

我在 172.16.1.224 上运行以下 node.js 服务器:

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");

但是当我尝试运行它时,我收到以下错误:

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)

我已关闭所有防火墙等。我无法理解此错误。希望有人可以提供帮助。

非常感谢,

【问题讨论】:

    标签: javascript sockets node.js


    【解决方案1】:

    172.16.1.224 上,您无法在 172.16.1.218 上收听,因为那不是您正在收听的机器的 IP。

    如果您想在那台机器上收听,请使用:

    server.listen(6001,"172.16.1.224");
    

    【讨论】:

    • @Eamorr: 如果你在.224 机器上分配.224 然后连接到.224 会发生什么? .218 工作正常吗?
    • 嗨,很抱歉回复晚了 - 我正在吃午饭 ;) 但是如果我在 .224 和 .218 上收听,消息仍然无法通过......我只是想要做的是在两台服务器之间建立通信链接...
    • 我尝试在 .224 机器上分配 .224,然后连接到 .224,但也没有用...
    • @Eamorr:所以如果我理解正确,.218 有效,.224 无效?
    • @Earnorr:如果您想要一种在服务器之间传递消息的简单方法,请查看gist.github.com/1106779
    猜你喜欢
    • 2012-11-30
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 2011-03-12
    • 2019-08-27
    • 2020-10-30
    • 2012-05-28
    相关资源
    最近更新 更多