¿Puedo abrir una conexión de software web a un servidor local que se ejecuta en un puerto arbitrario?

StackOverflow https://stackoverflow.com/questions/6035292

  •  14-11-2019
  •  | 
  •  

Pregunta

Tengo un servidor local que emite datos de sensores de hogar en tiempo real, y quiero visualizarlo en mi navegador.

Mi pregunta es, ¿puedo usar un WebSocket para abrir la conexión desde mi navegador al servidor local?¿Cómo voy a hacer eso?

El servidor local se ejecuta en un número de puerto designado no HTTP, y no puedo cambiar eso.

¿Fue útil?

Solución

Yes and no.

No:

WebSockets are not raw TCP connections. They have an HTTP compatible handshake (for both security and compatibility with existing servers) and have some minimal framing for each packet to make WebSockets a message based protocol. Also, the current WebSocket API and protocol that exists in browsers as of today do not directly support binary data messages. They only UTF-8 encoded payloads.

Yes:

You can use websockify to proxy a WebSockets connection to a raw binary TCP server. websockify is a python proxy/bridge that has binary support and also includes a javascript library to make interacting with it easier. In addition, websockify includes the web-socket-js fallback/polyfill (implemented in Flash) for browser that do not have native WebSockets support. The downside is that you have to run websockify somewhere (either on the client system, the server system, or some other system). Also, websockify is Linux/UNIX only for now. On the plus side, websockify has a special mode that you can use to launch and wrap an existing service.

Disclaimer: I made websockify.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top