NodeJS在写入后无法从telnet套接字接收数据
Posted
技术标签:
【中文标题】NodeJS在写入后无法从telnet套接字接收数据【英文标题】:NodeJS Cannot receive data from telnet socket after writing to it 【发布时间】:2020-03-13 05:51:03 【问题描述】:当我连接时,我得到了初始数据,就好像我从 CMD 手动打开了 telnet,但我试图发送一个命令,但它似乎没有工作,因为它没有记录数据。我到处看了看,不知道该怎么办。
这是我使用的代码
const conn = new net.Socket();
conn.connect(port: 587, host: mxOrDomain, () =>
conn.setEncoding('utf8');
conn.on('data', (data) =>
const message = data.toString();
console.log(message);
);
conn.on('error', (data) =>
console.log('error : ', data);
);
conn.on('drain', () =>
console.log('drained');
);
conn.on('end', () =>
console.log('Ended');
);
setTimeout(() =>
conn.write('HELO blahbalh.com\\r\\n', 'utf8');
, 2000);
);
另外,telnet domain 587 在 CMD 中工作而不是在使用 cp.exec() 或 .spawn() 时是否有原因?
【问题讨论】:
【参考方案1】:原来你必须用 \r\n 结束你的写入字符串,但我的 IDE 默认放置 \\r\\n。
【讨论】:
以上是关于NodeJS在写入后无法从telnet套接字接收数据的主要内容,如果未能解决你的问题,请参考以下文章