以tty格式通过websocket传递进程输出

以tty格式通过websocket传递进程输出,websocket,subprocess,tty,Websocket,Subprocess,Tty,这是一个关于一般架构的问题,我不要求任何人帮我解决这个小问题,尽管如果有人这样做,我不会生气 假设我有一个web应用程序,可以生成标准的unix进程,比如Travis CI。虽然选择这样一个过程的标准似乎很简单,但我更愿意让整个过程像Travis那样异步。因此,我考虑将整个输出通过websocket传递到某个基于web的终端模拟器中 然而,我能找到的唯一模拟器是完全交互式的,即它们允许用户输入,因此具有一些定制的服务器端组件。我的目标是拥有一段客户端代码,并将输出填充到其中 那么,创建一个web

这是一个关于一般架构的问题,我不要求任何人帮我解决这个小问题,尽管如果有人这样做,我不会生气

假设我有一个web应用程序,可以生成标准的unix进程,比如Travis CI。虽然选择这样一个过程的标准似乎很简单,但我更愿意让整个过程像Travis那样异步。因此,我考虑将整个输出通过websocket传递到某个基于web的终端模拟器中

然而,我能找到的唯一模拟器是完全交互式的,即它们允许用户输入,因此具有一些定制的服务器端组件。我的目标是拥有一段客户端代码,并将输出填充到其中


那么,创建一个websocket,将其连接到服务器端进程的stdout(最好是模拟tty的颜色和花色),并显示一个终端客户端,需要什么呢?我发现有一些控制代码可以区分tty和文本文件,这些控制代码需要在websocket上进行编码,但是否有相关文档?

我已经为.NET应用程序完成了这项工作。我认为这可能值得你举个例子

我有一个名为的小型.NET项目,它是一个使用WebSocket和AngularJS的日志观察者。基本上,它广播通过WebSocket记录的数据,并且有一个AngularJS指令显示数据。如何突出显示数据更像是一种演示材料,因此它将取决于您使用的框架。基本上,这个组件连接到任何使用NLog作为日志框架的.NET应用程序,所以您可以尝试自己在Travis中找到一些扩展点,并将您的东西连接到那里

关于附加到stdout,我有一个关于a的概念证明也在.NET中,尽管您可以忽略stdin部分。如果使用,可能与Windows中的相同

我想这和你要找的很相似。如果您有更具体的问题,请告诉我。

您可以使用以实现此目的。例如,只需阅读index.html脚本标记。它应该可以解决您的问题或任何遇到此问题的人的问题

这里您可以附加任何javascript库,将ANSI颜色转义码转换为相应的HTML,直到一个完整的终端仿真器。