【问题标题】:net.connect: reconnecting tcp net.connects yields connect ECONNREFUSEDnet.connect:重新连接 tcp net.connects 产生连接 ECONNREFUSED
【发布时间】:2015-09-06 21:56:03
【问题描述】:

我有一个我正在尝试的 tcp 服务器客户端连接

{ [Error: connect ECONNREFUSED]
  code: 'ECONNREFUSED',
  errno: 'ECONNREFUSED',
  syscall: 'connect' }

客户端第一次连接到服务器的端口和主机时一切正常。 下次它给出这个错误。 为什么以及如何重新连接/修复此问题?

从概念上讲,抛开内部逻辑,这是服务器代码:

net.createServer( function serverConnection (connection) {

            connection.write('whatver i wana write');

            connection.write("\n");

            connection.on('end', function connectionEnd () {
               console.log("Client Connection Ended");
               connection.unref();
               connection.destroy();
               server.close();
           });


       connection.on('close', function connectionClose() {
          console.log("Connection Closed");
          connection.unref();
          connection.destroy();
          server.close();
       });

       connection.on('error', function connectionErr (err) {
           console.error(err);
           server.close();
       });

    });

【问题讨论】:

  • 服务器拒绝连接。问题不在客户端。也许服务器正在通过 IP 或其他方式限制连接数,谁知道呢。
  • @mscdex 添加了骨架代码。能看到更新吗?

标签: node.js


【解决方案1】:

您将在第一个连接关闭后关闭服务器。当您调用server.close() 时,服务器将停止侦听新连接。

【讨论】:

  • 你对这个客户端错误熟悉吗?:错误:此套接字已被对方结束] code: 'EPIPE'
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-27
  • 2016-08-19
  • 1970-01-01
  • 2014-12-03
  • 1970-01-01
  • 2012-12-22
  • 1970-01-01
相关资源
最近更新 更多