【问题标题】:Is there a Telnet library for JavaScript?是否有用于 JavaScript 的 Telnet 库?
【发布时间】:2011-06-11 04:04:55
【问题描述】:

我们有一台网络摄像机。它有一个 HTTP 服务器来提供当前图像。还有一个 Telnet 接口用于控制相机(即触发、对焦等)。我想向相机添加一个 HTML 页面,该页面将提供一个简单的界面(我们已经有我们编写的客户端软件)。我可以“获取”图像并显示它,但我也想要使用 Telnet 界面来控制相机的控件。因此,按钮后面可能有 JavaScript 代码,通过 Telnet(登录)连接到摄像头并发出触发摄像头的命令。

我知道 JavaScript/浏览器支持通过 XMLHttpRequest 连接到同一主机。在这种情况下,我希望在端口 23 上打开一个套接字并发送文本。我也知道我可以通过 Flash、Java 或其他一些技术来做到这一点,但我更愿意只使用 JavaScript。如果可以的话。

【问题讨论】:

    标签: javascript telnet


    【解决方案1】:

    Thomaschaaf 是正确的,虽然 HTML5 引入了 websocket,但您会发现它们仍然需要特殊的服务器支持,因为它们会在打开套接字时发布 HTTP 样式信息:

    JS/HTML5 WebSocket: Connect without HTTP call

    目前,拥有真正套接字的最佳方法是

    • 在网页上使用 Flash 或 Java 组件来执行实际的套接字工作。
    • 使用带有 websockets 的代理服务器,可以处理 websockets 的额外协议开销,并使用普通套接字连接到真实的 tcp/ip 端口。

    Matt 链接的 jsterm 示例是后者,如果您的 webcans 位于防火墙后面,那么如果不实现另一台服务器,它将无法在您的情况下工作。

    有实现第一种方法的库,为了方便,这里链接了两个,其他的可以使用搜索引擎找到:

    http://stephengware.com/proj/javasocketbridge/ (Java)

    http://matthaynes.net/blog/2008/07/17/socketbridge-flash-javascript-socket-bridge/(闪光)

    【讨论】:

      【解决方案2】:

      jsTerm 是 Telnet 客户端的 HTML5 实现。

      您需要a browser that supports HTML5 WebSockets。 WebSockets 是使用纯 JavaScript 进行非 HTTP 请求的唯一方法。

      【讨论】:

      • 除了支持 HTML5 WebSockets 的浏览器之外,您还需要一个 Node.js 服务器作为远程登录代理。
      • 到 jsTerm 的链接断开。
      • @KonradGajewski 我编辑了答案以引用 GitHub 存储库。但不幸的是,该项目现在似乎被放弃了。
      【解决方案3】:

      目前无法仅使用 JavaScript 进行套接字连接。

      但是您要搜索的是套接字连接;)

      https://developer.mozilla.org/en/XML_Extras

      【讨论】:

        【解决方案4】:

        如果我将这个问题宽泛地解释为“是否有用于 Javascript 的远程连接库”,那么答案是肯定的(引自 https://xtermjs.org/):

        我用 node.js 简单地尝试过 WebSSH2,它对我有用 - 我设法用它连接到基于 Linux 的服务器。

        (我知道这可能对 OP 没有帮助,但无论如何这是一个已有 7 年历史的问题。也许它可以帮助其他需要回答类似问题的人。)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-12-11
          • 1970-01-01
          • 2011-12-03
          • 2012-08-29
          • 2011-01-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多