我正在寻找一个提供SSH和Telnet访问的C#库,并且提供相同的接口。 有什么好的选择吗?
我建议使用Granados作为SSH堆栈。它已经被应用在许多产品中。
我推荐这个代码项目页面作为telnet堆栈。
你也可以下载Poderosa终端模拟器。它使用Granados作为SSH堆栈,并拥有自己的telnet堆栈实现。
Poderosa非常可插拔。它提供了良好的网络堆栈抽象层。如果你没有时间编写自己的统一接口,你应该真正检查一下他们的工作。它提供了访问SSH和Telnet的相同接口,就像你想要的那样。不幸的是,它是由日本工程师编写的。所有内联注释都是用日语编写的。你可能需要花些时间来理解代码。
您也可以查看终端仿真库。由于您将处理返回自远程终端的数据,大多数终端会返回转义字符序列以进行设备控制命令、字体颜色/样式或光标移动命令。
您可能没有注意到,即使在一个简单的命令“ls -al”中,返回的内容也可能涉及一些转义字符序列。这些转义序列是为了使目录名和文件名显示为不同的颜色。
再次提醒,对于终端仿真,我找到的最好的C#库是Poderosa。如果您不必使用C#库,PuTTY具有最佳的终端仿真支持。它几乎可以识别到目前为止我见过的所有转义字符序列。
尽管我强烈建议您查看Poderosa和Granados,请注意这些项目似乎已不再活跃。即便如此,它们仍然是我见过的最好的。
这个链接可能会对你有所帮助 C# Telnet Library