Lo que tengo: un servidor de aplicaciones C ++ en ejecución, listo para enviar datos al cliente que se supone que es una página o aplicación HTML5.
Lo que quiero: ¿Hay alguna forma de comunicarse usando el puerto udp con HTML5 dado que tanto el servidor C++ como la aplicación HTML5 son locales para el sistema?
Lo que yo sé :
¿La respuesta sigue siendo 'NO'?
¿Hay alguna solución posible?
Cualquier pista es apreciada.
Sí, la respuesta sigue siendo 'no'. Los websockets están basados en TCP. Tenga en cuenta que un WebSocket no es una conexión TCP simple, existe una negociación HTTP y un protocolo de tramas en su lugar. Por lo tanto, tampoco puede crear una conexión TCP simple en Javascript.
WebRTC se basa en UDP, puede cubrir sus casos de uso: http://www.html5rocks.com/en/tutorials/webrtc/datachannels/
Chrome ahora parece tener algo: https://developer.chrome.com/apps/sockets_udp
Parece que UDP para web sigue siendo un área activa de desarrollo y creación de estándares potenciales. Publicar esta respuesta para registrar información nueva actual a partir de mayo de 2020.
El siguiente documento técnico describe un posible camino a seguir que satisface las necesidades de seguridad de un protocolo "desordenado y poco confiable": https://gafferongames.com/post/why_cant_i_send_udp_packets_from_a_browser/
Hay extensiones para Chrome de escritorio y Firefox de escritorio que están en desarrollo activo. https://github.com/RedpointGames/netcode.io-browser La forma en que están diseñados los navegadores móviles evita que se agregue este tipo de modificación en la actualidad (buenas razones de seguridad nuevamente), pero podría agregarse en el futuro.