是否有用于JavaScript的Telnet库?

时间:2011-01-18 15:04:46

标签: javascript telnet

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

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

4 个答案:

答案 0 :(得分:7)

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

JS/HTML5 WebSocket: Connect without HTTP call

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

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

mat链接的jsterm示例执行后者,如果您的网络摄像头位于防火墙后面,那么在没有实现其他服务器的情况下它将不适用于您的情况。

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

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

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

答案 1 :(得分:5)

jsTerm是Telnet客户端的HTML5实现。

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

答案 2 :(得分:4)

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

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

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

答案 3 :(得分:0)

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

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

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