Puis-je ouvrir une connexion WebSocket à un serveur local en cours d'exécution sur un port arbitraire?

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

  •  14-11-2019
  •  | 
  •  

Question

J'ai un serveur local émettant mes données de capteur de maison en temps réel, et je veux la visualiser dans mon navigateur.

Ma question est que puis-je utiliser un site Web pour ouvrir la connexion à partir de mon navigateur sur le serveur local?Comment allais-je faire ça?

Le serveur local fonctionne sur un numéro de port désigné non-HTTP, et je ne peux pas changer cela.

Était-ce utile?

La solution

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top