终端控件项目(C# VT100 SSH Telnet)






4.68/5 (25投票s)
2006年3月14日
2分钟阅读

332932

12404
一篇文章,介绍如何实现Telnet和SSH,并在使用GDI+创建的VT100终端仿真控件上显示它们。
引言
本文演示了如何通过使用Microsoft GDI+和Microsoft C#设计的VT100仿真器实现SSH和Telnet。
背景
我*不是*一名专业的程序员。我将编程作为一种爱好。我的专业是网络工程。我使用各种工具,有些是我编写的,有些是商业软件。这个项目始于我想将一些SSH功能集成到我编写的一个工具中。在与SSH斗争之后,我决定我可能无法理解足够深入到编写自己的SSH库。我无法为一些可用的商业SSH组件花钱,最终我找到了Granados SSH库。
在将Granados SSH库实现到我的应用程序中后,我意识到需要解释和模拟VT100。这...比你想象的要难得多。我发现了一个在SourceForge上的项目,叫做“Ackterm”。创建Ackterm项目的人已经实现了大部分VT100与Telnet的功能。
我将Granados与Ackterm结合起来,制作成一个*.dll控件,我可以将其拖放到Visual C#(或C++或Visual Basic)的Windows窗体中。它仍然需要大量的改进,例如完成滚动、文本选择、实现剪贴板复制等。一些控制代码仍然没有编程。但是,它基本上功能足够,一个中等水平的C#程序员应该能够完成我所遗留的部分。最近,我发现我的公司已经购买了其中一个商业终端仿真器的许可证,所以我停止了这项工作。如果有人完成它,我会非常高兴,因为我没有计划这样做。也许将来我可能有时间,但可能性不大。
使用代码
当你下载项目时,你会发现两个目录,“TerminalControl”和“TerminalControlTest”。Visual Studio解决方案文件位于“TerminalControl”目录中。
“TerminalControl”项目生成DLL文件。“TerminalControlTest”只是一个Windows窗体,用于在开发DLL时使用。
你需要.NET Framework v1.1和Visual C# 2003。我想你可以使用免费的编译器,但我还没有尝试过。没有Microsoft的IDE和IntelliSense,源代码可能很难导航。
关注点
历史
- 3月14日,上传了项目。