NodeJS写入后无法从telnet套接字接收数据

NodeJS Cannot receive data from telnet socket after writing to it

当我连接时,我得到了初始数据,就像我从 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() 时无效?

原来你必须以 \r\n 结束你的写入字符串,但我的 IDE 默认放置 \\r\\n。