这看起来还可以,因为它不会产生那么多的输出,但是您应该真正在单独的线程中进行读取和写入,这样它才不会填满缓冲区并阻止在等待下一步之前等待您读取。
因此,如果到达刷新发送给它的命令的地步,请通过将要发送的文本传递给命令中的标准输入,来找出Windows
telnet客户端是否支持从标准输入而不是从控制台接收命令提示。
例如,
echo dir c: | cmd导致cmd运行,列出c:驱动器内容并退出,其行为与您
dirc:在控制台中键入的行为大致相同。但是
echo open localhost |telnet会导致telnet清除屏幕然后退出,而不是像在控制台中键入一样进行操作。由于telnet需要掩盖用户输入的密码,因此很可能是使用控制台API而不是从标准输入中读取。它的帮助不会列出任何命令参数来告诉它从标准输入中读取内容,因此也许您需要使用更适合脚本编写的telnet实现。



