Maison > Article > interface Web > Explication détaillée de la résolution des problèmes inter-domaines WebSocket
Cet article présente principalement des informations pertinentes qui expliquent en détail comment résoudre les problèmes inter-domaines de WebSocket. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
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 JavaScript inter-domaines dans mon projet. La page parent et la page enfant doivent communiquer, et les pages parent-enfant sont inter-domaines. Que dois-je faire ?
Pour garantir que la communication entre les pages parent et enfant est point à point dans le projet, il est nécessaire d'établir une correspondance WebSocket entre les pages parent et enfant côté serveur, c'est-à-dire le les messages envoyés par la page parent ne sont reçus que par la page enfant, et les messages de la page enfant ne sont reçus que par la page parent Dès réception, nous avons effectué le travail suivant pour nous assurer strictement que
La communication WebSocket est point à point :
Tout d'abord, établissez l'URL du lien WebSocket plus le temps. La première consiste à vous assurer que la session de communication est uniqueLa 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 :
Côté serveurvar p = document.getElementsByTagName(‘p’)[0]; var io = io.connect(‘http://127.0.0.1:3001’); io.on(‘data’,function(data){ alert(‘2S后改变数据’); p.innerHTML = data });C'est tout pour aujourd'hui, j'espère que cela sera utile à tout le monde en même temps. , si vous ne voulez pas l'être aussi. Si vous passez du temps à utiliser WebSocket, vous pouvez essayer d'utiliser WebSocket tiers, tel que GoEasy Aurora.
var io = require(‘socket.io’)(server); io.on(‘connection’,function(client){ client.emit(‘data’,’hello WebSocket from 3001.’); });
Résumé : 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. Pour plus de didacticiels connexes, veuillez visiter le
Tutoriel vidéo HTML5 Tutoriel vidéo de formation sur le bien-être public phpTutoriel graphique HTML5Manuel HTML5 en ligneCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!