2011-01-18 33 views
14

Tenemos una cámara de red. Tiene un servidor HTTP para proporcionar la imagen actual. También hay una interfaz Telnet para controlar la cámara (es decir, disparador, enfoque, etc.). Me gustaría agregar una página HTML a la cámara que proporcione una interfaz simple (ya tenemos software de cliente que escribimos). Puedo "OBTENER" la imagen y mostrarla, pero también me gustaría tener controles que utilicen la interfaz Telnet para controlar la cámara. De modo que un botón puede tener código JavaScript detrás que se conecta a la cámara a través de Telnet (inicia sesión) y emite el comando para activar la cámara.¿Hay una biblioteca Telnet para JavaScript?

Sé que JavaScript/navegadores son compatibles con la conexión al mismo host a través de XMLHttpRequest. En este caso, estaría buscando abrir un socket en el puerto 23 y enviar texto. También sé que puedo hacerlo a través de Flash, Java o alguna otra tecnología, pero preferiría usar solo JavaScript. Si eso es posible.

Respuesta

5

Thomaschaaf es correcta, mientras que HTML 5 introduce websockets encontrará que todavía requieren un apoyo especial servidor como que publican información de estilo HTTP al abrir la toma:

JS/HTML5 WebSocket: Connect without HTTP call

La mejor manera, en la actualidad, para tener Los conectores verdaderos son

  • usan un flash o componente Java en la página web que hace que el socket funcione.
  • utilizan un servidor proxy con websockets que pueden manejar la sobrecarga de protocolo adicional de websockets y conectarse al puerto tcp/ip real con sockets simples.

El ejemplo de jsterm Matt vinculado hace esto último, y si sus webcans están detrás de un servidor de seguridad, no funcionará en su situación sin implementar también otro servidor.

Hay bibliotecas que implementan el primer método, dos están vinculados aquí por conveniencia, muchos otros se pueden encontrar usando un motor de búsqueda:

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

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

4

jsTerm es una implementación de HTML5 de un cliente Telnet.

Necesitarás a browser that supports HTML5 WebSockets. WebSockets es el único método para realizar solicitudes que no son HTTP con JavaScript puro.

+3

Además un navegador que admita WebSockets HTML5, también necesitará un servidor Node.js para ser el proxy de telnet. –

Cuestiones relacionadas