1

对于我的项目,我需要创建一个类似终端的自定义窗口并通过控制台端口连接到 Cisco 路由器。所以我继承了一个 TextBox 并在 WPF 中创建了一个自定义控件。我认为这就足够了;只是添加一些代码来实现我想要的额外功能。我一次发送一个字符并等待回复。但后来我看到我的自定义终端不处理特殊字符,像 \n 这样的基本字符肯定被识别,但其他所有字符都没有。我已经写了一个文本文件的回复,我看到我收到了很多特别的回复,但我不知道我应该如何反应。也许有人知道或找到了一些链接,其中包含有关如何对特定控制字符做出反应的信息?我只发现这里发送了什么字符,但没有别的了。我知道对于“BS”,我会在回车前删除一个字符,但是当我得到“ACK”或“DC1”时该怎么办?也许我应该跳过它们?有任何想法吗?


编辑:除了一次发送一个字符外,我只会在发送 enter 或类似 ? 或制表符。然后,当我收到响应时,它会与特殊字符混合以格式化文本,就像在 80x25 终端窗口中一样。我只想按它想要的方式显示它,但这意味着我需要知道当我得到特殊字符时如何反应我不需要显示它们,只是根据我的特殊字符格式化普通文本接收。当我得到BS时,我需要在运输前清除字符,当我得到DEL时,我需要在运输后清除字符。而且我想知道当我得到其他特殊字符时我需要做什么。我知道我可以做到这一点,只需将它们发送到一个工作终端,看看它会做什么,但这需要一段时间,所以我想知道是否有人可能知道答案。

4

1 回答 1

0

好的,我在终端上玩得很辛苦,现在我知道我需要处理的唯一特殊字符是 BS(当然我只在 Cisco 路由器上尝试过,但我只需要在它们上工作),唯一的问题是你需要创建自己的代码以使其工作并根据 BS 计数将插入符号移动到正确的位置。并且更好地创建自己的变量来存储插入索引,因为 TextBox CaretIndex 只是不想像我预期的那样工作。据我所知,其余的特殊字符可以省略。它的效果很好,就像我想要的那样。

于 2011-10-04T20:12:06.133 回答