2016-12-03 12 views
0

Wenn ich richtig verstehe, ermöglicht die Cross Document Messaging API das Senden und Empfangen von Nachrichten zwischen Webseiten in Echtzeit.Vergleich zwischen Cross Document Messaging und WebSockets

Mit WebSocket können Sie Objekte in Echtzeit zwischen der Website und dem Server senden und empfangen.

Kann man den anderen ersetzen, um eine Webanwendung in Echtzeit zu erstellen?

Wenn nicht, welcher Mechanismus ist besser und wofür?

+1

Was ist die "Cross Document Messaging API"? Wenn ich danach googele, ist mir nicht klar, wonach du fragst. Sprechen Sie nur über 'window.postMessage()', das für die Kommunikation zwischen geöffneten Browserfenstern im selben Browser verwendet werden kann? – jfriend00

+0

Ja, ich spreche über window.postMessage() – simhumileco

Antwort

2

window.postMessage() wird verwendet, um zwischen kooperierenden Browserfenstern zu kommunizieren, die beide im selben Browser geöffnet sind. Es sendet eine Nachricht direkt vom Javascript in einem Fenster an das Javascript eines anderen Fensters. Es funktioniert nur zwischen zwei Webseiten, die im selben Browser geöffnet sind. Es kann keine Daten an eine Webseite senden, die in einem anderen Browser geöffnet ist.

Eine WebSocket-Verbindung ist eine ganz andere Sache. Es ist eine Socket-Verbindung zwischen einem Client und einem Server. Da Browser die webSocket-Schnittstelle unterstützen, können Sie eine webSocket-Verbindung von einer Webseite zu einem Server herstellen. Sobald die Verbindung hergestellt ist, können Daten entweder von Webseite zu Server oder von Server zu Webseite gesendet werden.

Ein webSocket kann nicht verwendet werden, um zwei Webseiten direkt zu verbinden. Es könnte verwendet werden, um Informationen von einer Webseite zu einer anderen zu bekommen, aber Sie müssten beide Webseiten mit dem gleichen Server verbinden und dann eine Webseite haben, die Daten an den Server sendet und der Server diese Daten an die andere Webseite. So funktionieren viele Chat-Programme.

window.postMessage() kann nicht verwendet werden, um Daten an einen anderen Computer zu senden, so dass es nur zwischen Fenstern im selben Browser verwendet werden kann.

Verwandte Themen