Ping 远程登录服务器

本文关键字:登录 服务器 程登录 Ping | 更新日期: 2023-09-27 18:37:25

我编写自己的telnet客户端。我有一个问题,无法解决。我连接到设备并成功与之通信,但在某些时刻设备断开连接。

当我使用Zoc终端时,在这种情况下它会写"[TELNET]信息:断开连接"。

当我使用自己的终端时,我无法识别这种情况。TcpClient 中的属性"已连接"为 True。断开连接后尝试将某些内容写入流时,我会收到异常。但这为时已晚。

如何识别连接丢失?

谢谢。

Ping 远程登录服务器

尝试使用 Socket 而不是 TcpClient 。某些 telnet 守护程序需要每次按键来刷新缓冲区,因此请尝试在相关流上调用Stream.Flush。我建议将NetworkSteam绑在Socket上,然后将其包裹在TextWriter中,并在每次按键时调用Flush

使用 Socket,您可以通过查看Socket.ReceiveAsync成功完成且返回零字节来识别丢失的连接。还可以使用同步Socket.Receive并检查引发的异常。