Javascript nowjs-拒绝客户端连接

Javascript nowjs-拒绝客户端连接,javascript,node.js,nowjs-sockets,Javascript,Node.js,Nowjs Sockets,我有一个问题: 如何拒绝连接事件的事件处理程序的客户端连接 我想在客户端连接时检查服务器上的一些值,然后决定是断开连接还是让他连接 好的,因为stackoverflow认为我的问题低于他们的质量标准,所以我将尝试添加一个代码示例 everyone.on('connect', function(){ if (!niceClient) { // do something to kick him out } }); 提前谢谢 我不确定nowjs的具体细节,但使用pla

我有一个问题:

如何拒绝连接事件的事件处理程序的客户端连接

我想在客户端连接时检查服务器上的一些值,然后决定是断开连接还是让他连接

好的,因为stackoverflow认为我的问题低于他们的质量标准,所以我将尝试添加一个代码示例

everyone.on('connect', function(){
    if (!niceClient) {
        // do something to kick him out
    }
});

提前谢谢

我不确定nowjs的具体细节,但使用plain node.js您可以执行以下操作:

var http = require('http')
http.createServer(function (req, res) {
  // ...
}).on('connection', function(sock) {
  if (!niceClient) {
    sock.end(); // Close the client connection.
  }
}).listen(8080, 'localhost');

看起来nowjs只是包装了一个节点HTTP服务器,因此这种“连接”事件侦听器可能也可以与该库一起使用。

我不确定nowjs的具体细节,但使用plain node.js可以执行以下操作:

var http = require('http')
http.createServer(function (req, res) {
  // ...
}).on('connection', function(sock) {
  if (!niceClient) {
    sock.end(); // Close the client connection.
  }
}).listen(8080, 'localhost');

看起来nowjs只是包装了一个节点HTTP服务器,所以这种“连接”事件侦听器可能也可以与该库一起工作。

我现在发现nowjs中还没有实现访问控制。这可能是以后添加的一个特性,但到目前为止,除了实现一个自主开发的解决方案之外,没有什么可做的

我现在将按如下方式解决此问题:

所有相关操作都是通过一个组(例如“niceusers”)完成的,在成功验证后,用户被放入该组。如果没有成功的验证,他将处于“不确定”状态,不会收到任何团队的沟通

这解决了我的问题,但可能不足以实现真正的访问控制


还是希望这能帮助别人

我现在发现访问控制还没有在nowjs中实现。这可能是以后添加的一个特性,但到目前为止,除了实现一个自主开发的解决方案之外,没有什么可做的

我现在将按如下方式解决此问题:

所有相关操作都是通过一个组(例如“niceusers”)完成的,在成功验证后,用户被放入该组。如果没有成功的验证,他将处于“不确定”状态,不会收到任何团队的沟通

这解决了我的问题,但可能不足以实现真正的访问控制

还是希望这能帮助别人

试试这个

nowjs.on('connect', function(){
    nowjs.getClient(this.user.clientId, function(err){ 
        var address = this.socket.handshake.address;
        //@todo test if ip is blocked or banned
        console.log("New connection from " + address.address + ":" + address.port);

         //bla bla bla ....
           if (!niceClient) {
               this.socket.end(); // Close the client connection.
           }               
    });
});
试试这个

nowjs.on('connect', function(){
    nowjs.getClient(this.user.clientId, function(err){ 
        var address = this.socket.handshake.address;
        //@todo test if ip is blocked or banned
        console.log("New connection from " + address.address + ":" + address.port);

         //bla bla bla ....
           if (!niceClient) {
               this.socket.end(); // Close the client connection.
           }               
    });
});

是的,添加一个(或多个)代码示例,最好是一个说明工作流的文档化代码示例,这样的问题会更好。我鼓励你把这个问题再充实一点,甚至是。是的,您完全正确,但在本例中,代码示例对我来说太明显了。但是我保证将来会更好,我吸取了教训。是的,添加一个(或多个)代码示例,最好是一个说明工作流的文档化代码示例,总是会提出一个更好的问题。我鼓励你把这个问题再充实一点,甚至是。是的,您完全正确,但在本例中,代码示例对我来说太明显了。但是我保证将来会更好,我从中学到了教训。这实际上可能太低了,无法验证nowjs连接,因为nowjs的东西在套接字连接之后。但是谢谢你的提示,它给了我一些进一步检查的想法。这实际上可能太低了,无法验证nowjs连接,因为nowjs的东西在套接字连接之后。但是谢谢你的提示,它给了我一些进一步检查的想法。