什么是一个很好的基于浏览器的终端模拟器?

Cas*_*tor 23 terminal webbrowser-control terminal-emulator

我们有几个curses样式的应用程序,我们希望通过基于浏览器的界面提供访问.

我们有一个来自其他供应商的应用程序,它表面上基于旧版本的JTA(Java Telnet应用程序)提供此应用程序, 但该applet不能处理调整好的事情,并且对回滚缓冲区和复制/粘贴的支持相对较差.

在基于Ajax的界面的这一天,我很好奇是否有任何好的,免费的解决方案.

感谢这个网站,我看到了对Reflection的基于网络的终端模拟器的引用,但这可能对我们的需求来说太贵了.

我见过的一些潜在候选人包括

  1. anyterm
  2. ajaxterm

    没有回滚栏

但我没有机会做详细的评估.

Dan*_*idy 7

我经常使用Ajaxterm作为从任何地方管理Web服务器的便捷方式.在我切换到Chrome作为主浏览器之前,它对我很有用.Ajaxterm适用于Firefox和IE8,但在Chrome,Safari和Opera中无法使用.

我发现在Chrome,Safari和Opera上,许多"特殊"键都没有传递给Ajaxterm,包括退格键,箭头键,ctrl + c,ctrl + h,home,end等.Opera更糟糕:按shift键时,按键会转换为^ P,因此您无法键入大写字母.这些东西对我来说都很明显; 他们也可能是你们的示威者.

在我试过的所有浏览器中,Anyterm对我来说都很好,包括IE6.

其他需要注意的事项:

  • Anyterm在运行时保持连接不断打开,并使用第二个连接进行按键.所有浏览器都限制与单个主机的并发连接数.IE 7及更低版本具有两个并发连接的限制(根据HTTP规范的要求),因此Anyterm的单个实例可以在很多时候最大化与该主机的连接.但是,通过简单地为Anyterm使用单独的主机名,这可以相当容易.
  • Ajaxterm轮询更新,因此它不会持续打开连接.它使用相同的连接进行按键和屏幕更新.另一方面,屏幕并不总是尽快更新,并且每个屏幕更新的网络开销更大.
  • Ajaxterm一次更新整个屏幕,甚至更改单个字符.Anyterm仅更新已更改的屏幕部分.有争议的是更快; 无论如何,整个屏幕通常可以放在一个数据包中,Anyterm的方法在服务器端和客户端都有更大的处理开销.

注意:我对Ajaxterm的评论基于Ajaxterm 0.10.我没有试过0.11,显然包括'小补丁'.我对Anyterm的评论是基于他们网站上提供的演示.我实际上并没有愤怒地使用它.


jes*_*ang 5

我今天尝试了https://github.com/chjj/tty.js/它运行良好,你可以尝试一下.