我有一个简单的代码echo_server.js。这是一个服务器,它将简单地回显连接的客户端发送的任何文本。
var net=require('net');
var server=net.createServer(function (socket) {
  socket.on('data', function (data) {
    socket.write('server reply '+data);
  });
});
server.listen(8888);我将以$ node echo_server.js用户身份运行这段代码。此代码在端口8888上创建套接字。在新的终端上,我可以使用这个命令$ telnet localhost 8888连接到这个服务器。然后,我将得到与回复相同的文本,就像服务器回显一样。
程序在Linux上运行完全正常,但在Windows上表现不佳。它在每次击键时都会回显按键。我知道node是独立于平台的。telnet客户端有什么问题吗?
在ubuntu上,netstat -an | grep 8888显示服务器正在运行,正在监听8888端口。但是在Windows上,使用netstat -an时,很明显8888端口仍然没有打开。
对于windows环境,我使用的是我公司的笔记本电脑。他们是不是禁用了什么?我该怎么办?
完整的项目是here
发布于 2019-07-22 04:37:13
好的。我做了一些调查。阅读github上提出的许多问题。阅读了很多关于Windows和Linux中的telnet的文章,发现如果你使用的是windows telnet客户端,这种情况肯定会发生。使用其他telnet客户端来缓冲击键,直到您按ENTER键为止,就像Linux中的telnet一样。或者,您可以创建一个客户端程序,该程序将与服务器通信,而不是通过telnet。我会尽快弄清楚这件事。
https://stackoverflow.com/questions/57127705
复制相似问题