Telnet服务器如何与客户端通信?

4
我想编写一个C#应用程序,它连接到telnet服务器并与服务器通信。我想知道telnet服务器如何向客户端发送信息。我已经浏览了Telnet RFC,并查看了从服务器接收的传入数据包,但仍然有点困惑。能否给我举个例子,展示服务器如何在telnet客户端中移动光标以及如何更改字符颜色?(最好是提供一个例子) 更新I 以下是一些额外的VT100资源:
  1. ANSI / VT100 终端控制
  2. vt100_codes_news.txt
更新II 经过大量的研究和时间,我发现了这个链接:使用C#进行 Telnet 编程

1
+1 给使用 C# 进行 Telnet 编程的链接。 - sivabudh
3个回答

7

移动光标和更改颜色不是由telnet协议完成的。

您的telnet客户端模拟了一个终端,很可能是VT-100变体。要移动光标和更改颜色,服务器发送特定于正在模拟的终端类型的转义序列(在telnet协议协商中发送哪个)。

如果您不想要这些转义序列,请告诉服务器在telnet协议协商中您是一个“愚蠢”的终端就足够了。如果您想要它们(或者如果服务器假定每个人都有VT-100并始终发送它们),则必须实现VT-100终端仿真器(或至少足够舍弃您不需要的部分)。


我还要说的是,请确保评估所有RFC - 对于现代计算机与telnet实际工作方式,不仅仅是第一个RFC。 - Robert P

2

通过简单的谷歌搜索,可以找到许多用C#编写的开源Telnet(以及其他网络协议)客户端。您可以下载其中一个的源代码并查看它们如何实现连接协商和命令。


2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接