0

我刚刚习惯了 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);
      });
    });

我很感激有很多关于套接字功能的基本问题,但我找不到任何与该问题足够接近的东西来找到答案!

提前干杯,马丁

4

1 回答 1

0

调用c.destroy()而不是c.close.

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

于 2013-06-04T12:18:07.100 回答