Das WebSocket-Protokoll ist ein neues Protokoll von HTML5. Es realisiert eine Vollduplex-Kommunikation zwischen dem Browser und dem Server und ermöglicht eine domänenübergreifende Kommunikation. Es ist eine gute Implementierung der Server-Push-Technologie. Wir verwenden Socket.io, das die webSocket-Schnittstelle sehr gut kapselt, eine einfachere und flexiblere Schnittstelle bietet und außerdem Abwärtskompatibilität für Browser bietet, die webSocket nicht unterstützen.
Ich stoße in meinem Projekt auf ein domänenübergreifendes JavaScript-Problem. Die übergeordnete Seite und die untergeordnete Seite müssen domänenübergreifend kommunizieren.
Im Projekt müssen wir sicherstellen, dass die Kommunikation zwischen den übergeordneten und untergeordneten Seiten Punkt-zu-Punkt erfolgt. Das heißt, die vom übergeordneten Element gesendeten Nachrichten müssen auf der Serverseite hergestellt werden Seite werden nur von der untergeordneten Seite empfangen, und Nachrichten von der untergeordneten Seite werden nur von der übergeordneten Seite empfangen. Wir haben die folgende Arbeit durchgeführt, strikt garantiert
Die WebSocket-Kommunikation erfolgt Peer-to-Peer:Zunächst wird die URL zum Herstellen der WebSocket-Verbindung mit einem Zeitstempel versehen, um sicherzustellen, dass die Kommunikationssitzung eindeutig ist.
Die zweite besteht darin, die Eins-zu-eins-WebSocket-Korrespondenz zwischen der übergeordneten und der untergeordneten Seite auf der Serverseite sicherzustellen. Wenn der WebSocket der übergeordneten und untergeordneten Seiten geöffnet wird, sendet er eine Nachricht an den Server, um die entsprechende Beziehung zwischen Sensions zu registrieren und herzustellen. Dann können die übergeordneten und untergeordneten Seiten über das von beiden Parteien eingeschränkte Kommunikationsprotokoll kommunizieren.
Hier schreiben wir eine Demo:
var p = document.getElementsByTagName('p ')[0];var io = io.connect('http://127.0.0.1:3001 ');io.on('data ',function(data){alert( 'Daten nach 2S ändern');p.innerHTML = data});
serverseitig
var io = require('socket.io ')(server);io.on('connection ',function(client){client.emit('data ', 'hello WebSocket from 3001. ');});
Das ist alles für heute, ich hoffe, es wird Ihnen helfen. Wenn Sie nicht zu viel Zeit mit WebSocket verbringen möchten, können Sie es mit WebSocket eines Drittanbieters versuchen, ähnlich wie GoEasy Aurora.
GoEasy wird hier empfohlen, es ist einfach und benutzerfreundlich www.goeasy.io und es ist kostenlos, Sie können es ausprobieren.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Studium aller hilfreich ist. Ich hoffe auch, dass jeder das VeVb Wulin Network unterstützt.