J'ai entendu parler de l'interface des sockets Web dans la spécification de fichier HTML à partir d'une question pertinente Ici .
Cela semble très prometteur!
Je ne comprends pas comment cela fonctionne, cela utilise-t-il toujours le protocole HTTP et travaille autour de celui-ci ou fonctionne-t-il quelque chose comme des sockets TCP? P>
4 Réponses :
Le protocole de socket Web est un protocole basé sur TCP, mais il est conçu pour rétrograder à HTTP. Il existe également une poignée de main HTTP qui demande au serveur de passer au protocole des sockets Web. Donc, si le serveur le supporte, une connexion TCP en duplexé sera utilisée, sinon recours à http et les pirates de la comète pour cela. P>
La dernière fois que j'ai vu la spécification de protocole WebSocket, il n'y avait aucun moyen de déclasser automatiquement vers HTTP. Où était-ce que c'est ajouté?
Services WebSockets (habitué à?) NTP, un protocole arrêté dans les années 80.
Ce n'est pas http, ni des prises de TCP simples. Il est conçu pour obtenir la faible tenue des connexions de socket régulières (Ajax / Comet est très élevée), mais sans sacrifier certains des principes de sécurité du navigateur qui ont été développés au cours des dernières années. P>
La poignée de main WebSockets initiale ressemble beaucoup à HTTP. Cela facilitera la tâche des proxy http existants et du serveur Web de prendre en charge les connexions WebSockets entrants et fera la bonne chose avec eux (c'est-à-dire la transmettre au réel gestionnaire). Mais après une poignée de main réussie (qui inclut l'échange et la validation des informations d'origine), la connexion reste ouverte et devient bidirectionnelle. P>
Chaque paquet de données (envoyé du serveur ou du client) commence par un "\ x00" (zéro octet), est suivi de données codées UTF-8 et se termine par un "\ xeff" (tous les octets) . p>
Le projet de standard actuel est ici: http://tools.ietf.org / html / brouillon-hixie-thewebsocketprotocol-76 p>
Vous pourriez également trouver la WSProxy incluse dans NOVNC pour être utile comme référence. WSPROXY est une bande Web générique au proxy de la prise TCP. Il y a à la fois une version C et Python de WSProxy incluse avec NOVNC. P>
d'une manière, c'est à la fois une requête HTTP et une prise TCP régulière. em> p>
Une fois la réponse envoyée du serveur, la connexion est mise à niveau. C'est-à-dire que la connexion TCP utilisée pour HTTP est détournée pour une appelle plus élevée: transfert de données bidirectionnelle et réel. P>
Une fois que vous avez la capacité de communiquer bidirectionnelle et
Question: Est-ce exactement comme optiner la demande HTTP et la garder ouverte? (comme comète interrogatoire long ...)? Ou est-ce quelque chose de différent
@Royinamir, oui, exactement la même chose, donnez ou prenez quelques en-têtes, sauf que vous n'avez pas à ouvrir une nouvelle connexion à chaque fois que vous souhaitez envoyer ou recevoir quelque chose.
Merci. Donc, il fait réellement vrai pousser ... (et ne répond pas à une demande ...)
Le serveur WebSocket répond à la demande avec un Réponse de mise à niveau , puis vous pouvez envoyer et Recevoir des messages WebSocket.
@ROYINAMIR Oui, il fait de la réalité. Non seulement appuyez simplement sur le serveur, sa connexion bidirectionnelle.
Dans une telle situation, le rôle du serveur vient quand: p>
Dans HTML 5, Webswetket comme une fonte (Comm.) Not Walky-Talky.
Protocole HTTP mis à niveau sur le protocole de Websocket. merci. p> (WSS: // à partir de WS: //) CODE> Server doit pouvoir ouvrir le canal recto verso et par conséquent d'accord avec la communication Duplex.
Veuillez également passer par ce lien:
http://www.html5rocks.com/fr/Tutorials/websockets/basics/ a> p>