Heim > Web-Frontend > H5-Tutorial > Hauptteil

Ausführliche Erläuterung der domänenübergreifenden Problemlösung von WebSocket

青灯夜游
Freigeben: 2018-10-09 16:23:04
nach vorne
3136 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich relevante Informationen vor, die detailliert erklären, wie man WebSocket-übergreifende Probleme löst. Ich hoffe, dass er für Sie hilfreich ist.

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, und die Eltern-Kind-Seiten sind domänenübergreifend. Was soll ich tun?

Um sicherzustellen, dass die Kommunikation zwischen den übergeordneten und untergeordneten Seiten im Projekt Punkt-zu-Punkt erfolgt, muss auf der Serverseite eine WebSocket-Korrespondenz zwischen den übergeordneten und untergeordneten Seiten hergestellt werden Von der übergeordneten Seite gesendete Nachrichten werden nur von der untergeordneten Seite empfangen, und die Nachrichten der untergeordneten Seite werden nur von der übergeordneten Seite empfangen. Nach dem Empfang haben wir die folgenden Arbeiten durchgeführt, um strikt sicherzustellen, dass

Die WebSocket-Kommunikation erfolgt Punkt-zu-Punkt:

Erstellen Sie zunächst die URL des WebSocket-Links plus Zeit. Die erste besteht darin, sicherzustellen, dass die Kommunikationssitzung eindeutig ist

Die zweite besteht darin, die Eins-zu-eins-WebSocket-Korrespondenz zwischen den übergeordneten und untergeordneten Seiten 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(‘2S后改变数据’);

p.innerHTML = data

});
Nach dem Login kopieren

Serverseite

var io = require(‘socket.io’)(server);

io.on(‘connection’,function(client){

client.emit(‘data’,’hello WebSocket from 3001.’);

});
Nach dem Login kopieren

Das war's für heute. Ich hoffe, dass es für alle hilfreich sein wird Ich möchte nicht zu viel Zeit damit verbringen. Für WebSocket können Sie versuchen, WebSocket eines Drittanbieters zu verwenden, ähnlich wie GoEasy Aurora.

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird. Weitere verwandte Tutorials finden Sie unter Html5-Video-Tutorial!

Verwandte Empfehlungen:

PHP-Video-Tutorial zum Gemeinwohltraining

HTML5-Grafik-Tutorial

HTML5 Online-Handbuch

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der domänenübergreifenden Problemlösung von WebSocket. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:jb51.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!