Le protocole WebSocket est un nouveau protocole HTML5. Il réalise une communication en duplex intégral entre le navigateur et le serveur et permet une communication entre domaines. Il s'agit d'une bonne implémentation de la technologie push du serveur. Nous utilisons Socket.io, qui encapsule très bien l'interface webSocket, fournit une interface plus simple et plus flexible, et offre également une compatibilité ascendante pour les navigateurs qui ne prennent pas en charge webSocket.
Je rencontre un problème inter-domaines JavaScript dans mon projet. La page parent et la page enfant doivent communiquer, et les pages parent et enfant sont inter-domaines. Que dois-je faire ?
Dans le projet, nous devons nous assurer que la communication entre les pages parent et enfant est point à point. Nous devons établir une correspondance WebSocket entre les pages parent et enfant côté serveur. la page n'est reçue que par la page enfant, et les messages de la page enfant ne sont reçus que par la page parent. Nous avons effectué le travail suivant, strictement garanti.
La communication WebSocket est peer-to-peer :Tout d'abord, l'URL permettant d'établir le lien WebSocket est ajoutée avec un horodatage pour garantir que la session de communication est unique ;
La seconde consiste à assurer la correspondance WebSocket un à un entre les pages parent et enfant côté serveur. Lorsque le WebSocket des pages parent et enfant est ouvert, il enverra un message au serveur pour s'enregistrer et établir la relation correspondante entre Sensions. Ensuite, les pages parent et enfant peuvent communiquer via le protocole de communication contraint par les deux parties.
Ici, nous écrivons une démo :
var p = document.getElementsByTagName('p ')[0];var io = io.connect('http://127.0.0.1:3001 ');io.on('data ',function(data){alert( 'Modifier les données après 2S');p.innerHTML = data});
côté serveur
var io = require('socket.io ')(server);io.on('connection ',function(client){client.emit('data ', 'bonjour WebSocket de 3001. ');});
C'est tout pour aujourd'hui, j'espère que cela vous sera utile. En même temps, si vous ne voulez pas passer trop de temps sur WebSocket, vous pouvez essayer d'utiliser WebSocket tiers, similaire à GoEasy Aurora.
GoEasy est recommandé ici, c'est simple et facile à utiliser www.goeasy.io et c'est gratuit, vous pouvez l'essayer.
Ce qui précède représente l’intégralité du contenu de cet article. J’espère qu’il sera utile à l’étude de chacun. J’espère également que tout le monde soutiendra le réseau VeVb Wulin.