问题标签 [vt100]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3565 浏览

c# - Telnet 服务器如何与客户端通信?

我想编写一个 C# 应用程序,它连接到 telnet 服务器并与服务器通信。我想知道 telnet 服务器如何向客户端发送信息。我已经查看(略读)了Telnet RFC并查看了从服务器传入的数据包,但仍然有点困惑。谁能给我一个例子,服务器如何在 telnet 客户端中移动光标以及它如何改变字符的颜色?(一个例子将不胜感激)

更新一

以下是一些额外的 VT100 资源:

  1. ANSI/VT100 终端控制
  2. vt100_codes_news.txt

更新二

经过大量研究和时间,我在这里发现了:Telnet Programming with C#

0 投票
3 回答
4868 浏览

python - 支持 ANSI/VT100 的 AJAX 控制台窗口?

我打算编写网关 Web 应用程序,它需要支持 VT100/ANSI 转义码的“终端窗口”。这种任务是否有任何基于 AJAX 的替代方案?

我在想这样的事情:http: //tryruby.hobix.com/

我首选的系统后端是 Python/Twisted/Pylons,但由于我只是在计划,我将探索每个选项。

0 投票
4 回答
5405 浏览

c# - 开源 C# vt100 服务器

有人知道开源 C# vt100 服务器吗?我正在寻找创建一个 C# 服务器来理解来自 vt100 客户端的转义序列。

0 投票
2 回答
1170 浏览

java - 用于基于文本和控制台的表单的 Java 框架?

是否有任何基于 Java 的框架来定义和管理基于文本、VT100 或基于控制台的表单系统?

0 投票
2 回答
639 浏览

python - Perl 模块 Term::VT102 是否有 Python 等效项?

在 Perl 中有一个非常方便的模块 Term::VT102,它允许您在内存中创建屏幕。这对于抓取目的非常方便,因为您可以跟踪屏幕部分的所有更改,然后将屏幕导出为纯文本进行处理。Python中是否有等效模块?

追问:有像Pexpect这样的模块可以让你对VT100屏幕刮屏,但是VT100和VT102有什么不同呢?

0 投票
2 回答
4000 浏览

c# - 带有 SharpSSH 的 C# 中的 VT100 仿真库

我在搞乱 Tamir.SharpSsh 并想看看是否可以使用它在 C# 中完全实现控制台 SSH 客户端。我并不是指像 putty 这样的东西,它实际上在它自己的 GUI 中运行,而是你可以直接从 windows cmd 控制台运行的东西。

该库非常棒,只是它不以任何方式处理终端仿真。所以在使用 SshShell 的时候,你可以做一些基本的交互,但是输出通常很丑陋并且充满了随机字符,你实际上无法与 shell 脚本之类的东西进行交互。

据我所知,SharpSSH 只是将 IO 重定向到控制台 IO。

将其重定向到其他地方并处理终端仿真有多难?另外,是否有我可以使用的仿真库(最好是 C# 和开源)?

编辑:放弃 SharpSSH,请参阅下面的答案以了解我想出的最终解决方案。

0 投票
1 回答
910 浏览

ssh - 在 VT100 SSH 会话流中检测控制台提示

我正在开发一个包装库(在 C# 中,但对这里的问题并不重要)来打开 SSH 连接,然后允许向服务器发送命令并接收响应。然而,主要的是,我希望命令调用缓冲响应流,然后在 shell 返回到控制台提示符后将其作为一个字符串全部返回给用户。这样,我可以只触发一个命令,而不必在每次服务器在作业期间写回控制台时处理所有响应事件。

所以,我的主要问题是,在 VT100 会话中,是否有任何万无一失的方法来确定服务器已返回输入提示?到目前为止,我发现的唯一一件事是,对于我尝试过的两个 ssh 服务器(cygwin 和 Fedora),它似乎总是输出的最后一个字符序列是 '[esc][0m' [esc],即 ASCII代码 27 我想这是标准的东西,但是当我查看该序列是什么时,我发现了这个:

modeoff SGR0,关闭字符属性

我有点希望有更具体的东西,比如“等待输入”:P

如果这适用于所有/大多数系统,有什么想法吗?或者如果有更好的方法?

0 投票
4 回答
7859 浏览

.net - Windows WPF 或 Silverlight 中的 VT100 终端仿真

我正在考虑创建一个类似于终端窗口的 WPF 或 Silverlight 应用程序。除了,因为它在 WPF/Silverlight 中,它将能够通过效果、图像等“增强”终端体验。

我试图找出模拟终端的最佳方法。就解析等而言,我知道如何处理 VT100 仿真。但是如何显示呢?我考虑使用 RichTextBox 并将 VT100 转义码转换为 RTF。

我看到的问题是性能。终端可能一次只能获取几个字符,并且能够随时将它们加载到文本框中,我将不断创建 TextRanges 并使用 Load() 加载 RTF。此外,为了完成每个加载“会话”,它必须完全描述 RTF。例如,如果当前颜色是红色,则每次加载到 TextBox 都需要 RTF 代码来使文本变为红色,或者我假设 RTB 不会将其加载为红色。

这似乎非常多余——由仿真生成的 RTF 文档将非常混乱。此外,插入符号的移动似乎不会由 RTB 理想地处理。我需要一些定制的东西,我想,但这让我害怕!

希望听到关于现有解决方案的好主意或指示。也许有一种方法可以嵌入一个实际的终端并在它上面覆盖一些东西。我发现的唯一东西是一个旧的 WinForms 控件。

更新:在下面我的回答中查看建议的解决方案如何因性能而失败。:(
Windows WPF 或 Silverlight 中的 VT100 终端仿真

0 投票
2 回答
1382 浏览

c - ANSI VT100 转义序列的标准 C 标头

是否有一个标准的 C 标头包含用于说 vt100 的 ansi 转义序列?

0 投票
4 回答
1073 浏览

unix - 我可以确定终端是否解释 C1 控制代码吗?

ISO/IEC 2022 定义了 C0 和 C1 控制代码。C0 集是ASCII、ISO-8859-1 和 UTF-8(例如0x00、、)之间熟悉的代码。0x1fESCCRLF

一些 VT100 终端仿真器(例如screen(1)PuTTY)也支持 C1 集。这些是和之间的值0x800x9f例如,0x84将光标向下移动一行)。

我正在显示用户提供的输入。我不希望用户输入能够改变终端状态(例如移动光标)。我目前正在过滤掉C0集中的字符代码;但是,如果终端将它们解释为控制代码,我也想有条件地过滤掉 C1 集。

有没有办法从数据库中获取这些信息termcap