【发布时间】:2017-11-16 21:09:27
【问题描述】:
我正在使用 SSH.NET 为 UWP 创建终端应用程序。
目前,我已经能够使用库发送/接收数据,但我想做一些类似 PuTTY 应用程序的事情,它可以用不同的颜色显示文本,甚至能够使用 Linux 编辑文件vi编辑。
有没有办法用这个库获取颜色/位置信息?
【问题讨论】:
标签: c# .net ssh terminal ssh.net
我正在使用 SSH.NET 为 UWP 创建终端应用程序。
目前,我已经能够使用库发送/接收数据,但我想做一些类似 PuTTY 应用程序的事情,它可以用不同的颜色显示文本,甚至能够使用 Linux 编辑文件vi编辑。
有没有办法用这个库获取颜色/位置信息?
【问题讨论】:
标签: c# .net ssh terminal ssh.net
在实现terminal emulation时,主要需要处理服务器发送的ANSI escape codes。
在 SSH.NET 或 .NET Framework 中不支持。
自行实施是一项艰巨的任务。终端仿真的 PuTTY 实现 terminal.c 有近 8000 行代码。而且那只是处理部分,绘图是分开的。
在 Google 上快速搜索 “c# 终端仿真” 结果:
https://github.com/munificent/malison-dotnet
(虽然我对这个库没有经验)
这在 SSH.NET 方面的唯一部分是通过使用 SshClient.CreateShell 的重载来请求终端仿真,该重载采用 terminalName 参数(及其同伴)。
【讨论】: