2008-10-24 211 views
4

我想写一个C#应用程序连接到远程登录服务器并与服务器通信。我想知道一个telnet服务器如何向客户端发送信息。我查看了Telnet RFC,并查看了来自服务器的传入数据包,但仍有点困惑。有人能给我一个例子,说明服务器如何在telnet客户端中移动光标,以及它如何改变字符的颜色? (一个例子是最赞赏)Telnet服务器如何与客户端进行通信?

更新我

下面是一些附加的VT100资源:

  1. ANSI/VT100 Terminal Control
  2. vt100_codes_news.txt

更新II

有了大量的研究和时间,在这里我发现了什么:用C#编写Telnet Programming with C#

+1

+1为Telnet用C#编程链接 – sivabudh 2010-06-17 17:52:42

回答

7

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

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

如果你不想要这些转义序列,告诉服务器在telnet协议上谈判你是一个“哑”终端应该就够了。如果你想要它们(或者如果服务器假定每个人都有一个VT-100并且总是发送它们),你将不得不实现一个VT-100终端仿真器(或者至少足够的它来放弃你不想要的东西)。

+0

该死的......打我吧。很好的答案,但不能说得更好。 +1 – Kev 2008-10-24 16:54:54

2

一个simple Google search揭示了许多开源的Telnet(和其他网络协议)客户端。您可以将源代码下载到其中,并查看它们如何实现连接协商和命令。

相关问题