问题描述
net.createConnection 似乎总是给 ECONNREFUSED。我做了一个 tcpdump 并且不太清楚我在找什么。
代码:
const net = require('net');
const client = net.createConnection({ port: 8124},() => {
// 'connect' listener.
console.log('connected to server!');
client.write('world!\r\n');
});
client.on('error',function(e) {
console.log(e);
console.log(e.message);
});
client.on('data',(data) => {
console.log(data.toString());
client.end();
});
client.on('end',() => {
console.log('disconnected from server');
});
输出:
Error: connect ECONNREFUSED 127.0.0.1:8124
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16) {
errno: -4078,code: 'ECONNREFUSED',syscall: 'connect',address: '127.0.0.1',port: 8124
}
connect ECONNREFUSED 127.0.0.1:8124
解决方法
使用 tcpdump
之类的跟踪器查看实际发生的情况。消息“连接被拒绝”实际上有点误导。这实际上并不意味着主持人已经认出您并且现在拒绝与您交谈。
确保您的服务器在本地计算机 (127.0.0.1) 的端口 8124 上运行。 ECONNREFUSED 表示您没有。