Ce que j’ai: Un serveur d’applications C++ en cours d’exécution, prêt à envoyer des données au client, qui est supposé être redirigé vers une page ou une application HTML5.
Ce que je veux: Y a-t-il un moyen de communiquer en utilisant le port udp avec HTML5 étant donné que le serveur c ++ et l'application HTML5 sont locaux pour le système?
Ce que je sais :
La réponse est-elle toujours «NON»?
Y a-t-il une solution de rechange possible?
Toute avance est appréciée.
Oui, la réponse est toujours "non". Les Websockets sont basés sur TCP. Notez qu'un WebSocket n'est pas une simple connexion TCP, il existe une négociation HTTP et un protocole de trame en place. Par conséquent, vous ne pouvez pas non plus créer une connexion simple TCP en Javascript.
WebRTC est basé sur UDP, il peut couvrir vos cas d'utilisation: http://www.html5rocks.com/fr/tutorials/webrtc/datachannels/
Chrome semble maintenant avoir quelque chose: https://developer.chrome.com/apps/sockets_udp
Ceci est un important { problème pour les joueurs }. Voir ce lien pour une discussion sur les websockets, webrtc, quic (en chrome) et l'auteur netcode.io
Vous pouvez également créer un serveur local python supplémentaire pour relier les données entre votre application C++ et votre page Web.
La page Web html5 se connecte à un port local permettant une connexion via un socket Web (utilisez Flask/tornado).
L'application C++ se connecte à un écouteur UDP sur un autre port. Voir https://wiki.python.org/moin/UdpCommunication pour configurer.
Le serveur python forme essentiellement un pont de données transparent entre le port UDP et la connexion websocket.