繁体   English   中英

如何在自定义终端中处理传入的控制字符?

[英]How to handle incoming control characters in a custom terminal?

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


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

好的,我在终端上进行了艰难的尝试,现在我知道我需要处理的唯一特殊字符是BS(当然,我只在Cisco路由器上尝试过此操作,但我只需要在它们上工作),唯一的问题是您需要创建自己的代码以使其正常工作,并根据BS数量将插入符号移动到正确的位置。 最好创建自己的变量来存储插入符号索引,因为TextBox CaretIndex只是不想像我期望的那样工作。 据我所知,其余的特殊字符可以省略。 它可以按我的意愿很好地工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM