/ / Conectarse a un socket estándar usando WebSocket - javascript, html5, google-chrome, websocket

Conéctese a un socket estándar utilizando WebSocket - javascript, html5, google-chrome, websocket

Tengo una interfaz de cliente para un dispositivo de hardwareque se comunica a través de un socket TCP estándar. ¿Es posible conectarse a este usando WebSocket en un navegador como Chrome? Aquí está el código que estoy usando para conectar:

var ws = new WebSocket("ws://127.0.0.1:13854");
ws.onopen = function() ...

El cliente simplemente falla hasta ahora en la primera línea. ¿Es el problema que WebSockets use su propio protocolo con el que un socket local estándar no estaría familiarizado? He intentado especificar otros protocolos ("http: // ..." y "tcp: // ...") pero esto no ha funcionado.

Respuestas

7 para la respuesta № 1

Como thejh Ya explicado, WebSockets no transmite datos.a medida que lo proporcione, pero agregue el encuadre y el enmascaramiento al flujo de datos. Por lo tanto, no es posible utilizar websockets para comunicarse con aplicaciones que no implementan el protocolo WebSocket.

Pero hay una solución: A Websockify servidor puede ser utilizado como un proxy para un puente entre unCliente websocket y un servidor no websocket. El cliente no se comunica directamente con la aplicación, sino con un servidor websockify. Websockify desempaqueta el flujo de datos de Websocket y lo transmite al servidor. La respuesta del servidor se empaqueta en marcos de WebSocket y se envía al cliente.


3 para la respuesta № 2

Los sockets web utilizan un protocolo especial. Por ejemplo, cualquier conexión websocket comienza como una conexión HTTP y se cambia a una conexión websocket después de que ambas partes hayan acordado cambiar el protocolo websocket a través de HTTP. No puede hablar con servidores TCP arbitrarios utilizando websockets, lo siento. Si desea hacer algo así, probablemente tenga que usar flash o un applet de Java.