net.connect:重新连接 tcp net.connects 产生连接 ECONNREFUSED
Posted
技术标签:
【中文标题】net.connect:重新连接 tcp net.connects 产生连接 ECONNREFUSED【英文标题】:net.connect: reconnecting tcp net.connects yields connect 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 添加了骨架代码。能看到更新吗? 【参考方案1】:您将在第一个连接关闭后关闭服务器。当您调用server.close()
时,服务器将停止侦听新连接。
【讨论】:
你对这个客户端错误熟悉吗?:错误:此套接字已被对方结束] code: 'EPIPE'以上是关于net.connect:重新连接 tcp net.connects 产生连接 ECONNREFUSED的主要内容,如果未能解决你的问题,请参考以下文章
我的世界联机:出现了这串字母 Java.net.connect.exception:connec
如何在 VB.NET 中检查 TCP 服务器(套接字)与 TCP 客户端的连接状态
我的世界多人联机出现java.net.Connect Exception:Connection timed out: no further information怎么办