【问题标题】:How does Telnet server communicate to the client?Telnet 服务器如何与客户端通信?
【发布时间】:2010-09-19 01:22:18
【问题描述】:

我想编写一个 C# 应用程序,它连接到 telnet 服务器并与服务器通信。我想知道 telnet 服务器如何向客户端发送信息。我查看了(略读)Telnet RFC 并查看了从服务器传入的数据包,但仍然有点困惑。谁能给我一个例子,服务器如何在 telnet 客户端中移动光标以及它如何改变字符的颜色? (最好举个例子)

更新我

这里有一些额外的 VT100 资源:

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

更新二

经过大量研究和时间,我在这里发现了:Telnet Programming with C#

【问题讨论】:

  • +1 使用 C# 链接进行 Telnet 编程

标签: c# terminal client-server telnet vt100


【解决方案1】:

simple Google search 揭示了许多用 C# 编写的开源 Telnet(和其他网络协议)客户端。你可以直接下载源代码,看看他们是如何实现连接协商和命令的。

【讨论】:

    【解决方案2】:

    关于处理光标和文本颜色等,现在您正在谈论终端仿真。为此,您将需要一个库。 This looks like a good place to start.

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

      • 我还要说确保评估所有 RFC - 不只是第一个是关于 telnet 如何与现代计算实际协同工作的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-15
      • 1970-01-01
      • 2017-07-16
      • 1970-01-01
      • 2011-09-11
      • 2016-10-04
      • 2011-08-18
      相关资源
      最近更新 更多