NodeJS:NET套接字关闭,如果非本地IP地址

时间:2013-06-04 08:59:31

标签: node.js sockets tcp

我只是习惯了NodeJS所以这是一个非常基本的问题,请温柔一点!我试图拒绝连接,如果IP地址不是来自我们的本地网络,它将检测并运行c.close和控制台日志,但它仍将从telnet接收数据。我试过c.close和c.destroy。

我是否正确使用了对象'c'?我知道它的connectionListener套接字,并且c.remoteAddress返回连接主机的正确IP地址!

(请注意'172.246.2'故意使条件检查失败并关闭套接字)

var server = net.createServer(function(c) {
      if (c.remoteAddress.substr(0, 8) !== "172.246.2") {
        c.close;
        console.log('Socket destroyed');
        }
      c.on('data', function(data) {
        incomingData(data);
      });
      c.on('error', function(error) {
        console.log('Error: ' + error);
      });
    });

我很欣赏有很多关于套接字功能的基本问题,但我找不到足够接近问题的东西来找到答案!

提前干杯, 马丁

1 个答案:

答案 0 :(得分:0)

致电c.destroy()而非c.close

close不是您可以调用的函数,但它是您可以订阅的事件。

相关问题