我希望能够在本机 Linux GNU telnet 客户端中明确设置终端速度选项。
我的问题的一些背景:
我无法使用 telnet 登录 HPUX 主机当 Java 程序创建 telnet 进程时。
当我从命令行(从 bash) telnet 到 HPUX 主机时,我能够登录并使用该会话。
当我从 Java 中生成 telnet 进程时,发生了一些奇怪的事情。系统提示我输入用户名并提交。我还收到输入密码的提示。但出于某种原因,telnet 服务器不等待密码;它在发送密码之前就退出了会话。
查看 wireshark 中的交换,我发现,一旦 telnet 客户端发送密码提示的 ACK,服务器就会发送 FIN 数据包,终止初始化会话。
在输入密码提示之前的握手过程中,我发现的一个不同点是服务器询问终端速度。从命令行运行 telnet 时,它发送的终端速度是 38400,38400。从 Java 运行 telnet 时,终端速度是 0,0。
答案1
我猜想 telnet 客户端需要一个终端才能引用终端速度,并且我猜想当它从 Java 启动时,没有与该进程关联的 tty。根据您的使用情况,您可以尝试生成一个 xterm 并在其中运行 telnet。
如果这是不可接受的,并且您无法找到使用 GNU telnet 客户端明确设置它的方法,您可能需要尝试使用另一个海报提到的本机 Java telnet API,而不是生成外部进程。
答案2
您需要提供更多关于 Java Telnet 客户端的信息。听起来它自己的客户端是弄清楚如何更改设置的关键
答案3
听起来你想要一个终端仿真程序(如 Windows 中的 hyperterm),而不是 telnet 客户端。也许Java超级终端就是你想要的。