WebSockets - Duplex-Kommunikation

Bevor Sie sich mit den Anforderungen von Web-Sockets befassen, müssen Sie sich die vorhandenen Techniken ansehen, für die verwendet wird duplex communicationzwischen dem Server und dem Client. Sie sind wie folgt -

  • Polling
  • Lange Umfrage
  • Streaming
  • Postback und AJAX
  • HTML5

Umfragen

Polling kann als eine Methode definiert werden, die periodische Anforderungen unabhängig von den in der Übertragung vorhandenen Daten ausführt. Die periodischen Anfragen werden synchron gesendet. Der Client sendet in einem bestimmten Zeitintervall eine regelmäßige Anforderung an den Server. Die Antwort des Servers enthält verfügbare Daten oder eine Warnmeldung.

Lange Umfrage

Lange Abfragen beinhalten, wie der Name schon sagt, ähnliche Techniken wie Abfragen. Der Client und der Server halten die Verbindung aktiv, bis einige Daten abgerufen werden oder eine Zeitüberschreitung auftritt. Wenn die Verbindung aus bestimmten Gründen unterbrochen wird, kann der Client neu beginnen und eine sequentielle Anforderung ausführen.

Langes Abrufen ist nichts anderes als eine Leistungsverbesserung gegenüber dem Abrufprozess, aber ständige Anforderungen können den Prozess verlangsamen.

Streaming

Es wird als die beste Option für die Echtzeit-Datenübertragung angesehen. Der Server hält die Verbindung zum Client offen und aktiv, bis die erforderlichen Daten abgerufen werden. In diesem Fall gilt die Verbindung als unbegrenzt offen. Streaming enthält HTTP-Header, die die Dateigröße erhöhen und die Verzögerung erhöhen. Dies kann als Hauptnachteil angesehen werden.

AJAX

AJAX basiert auf Javascript XmlHttpRequestObjekt. Es ist eine abgekürzte Form von asynchronem Javascript und XML.XmlHttpRequestObject ermöglicht die Ausführung von Javascript, ohne die gesamte Webseite neu zu laden. AJAX sendet und empfängt nur einen Teil der Webseite.

Das Code-Snippet des AJAX-Aufrufs mit XmlHttpRequest Objekt ist wie folgt -

var xhttp;

if (window.XMLHttpRequest) {
   xhttp = new XMLHttpRequest();
} else {
   // code for IE6, IE5
   xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}

Die Hauptnachteile von AJAX im Vergleich mit Web Sockets sind -

  • Sie senden HTTP-Header, wodurch die Gesamtgröße größer wird.
  • Die Kommunikation erfolgt halbduplex.
  • Der Webserver verbraucht mehr Ressourcen.

HTML5

HTML5 ist ein robustes Framework zum Entwickeln und Entwerfen von Webanwendungen. Die wichtigsten Säulen sindMark-up, CSS3 und Javascript APIs zusammen.

Das folgende Diagramm zeigt HTML5-Komponenten -

Das unten angegebene Code-Snippet beschreibt die Deklaration von HTML5 und seinen Doctype.

<!DOCTYPE html>

Warum brauchen wir Web-Sockets?

Das Internet wurde als eine Sammlung von HTML-Seiten (Hypertext Mark-up Language) konzipiert, die miteinander verbunden sind, um ein konzeptionelles Informationsnetz zu bilden. Im Laufe der Zeit nahmen die statischen Ressourcen an Zahl und umfangreicheren Elementen wie Bildern zu und wurden Teil der Webstruktur.

Servertechnologien wurden weiterentwickelt, die dynamische Serverseiten ermöglichten - Seiten, deren Inhalt basierend auf einer Abfrage generiert wurde.

Das Erfordernis dynamischerer Webseiten führte bald zur Verfügbarkeit der dynamischen Hypertext-Markup-Sprache (DHTML). Alles dank JavaScript. In den folgenden Jahren haben wir gesehencross frame communication in einem Versuch, das erneute Laden von Seiten zu vermeiden, gefolgt von HTTP Polling innerhalb von Frames.

Keine dieser Lösungen bot jedoch eine wirklich standardisierte Cross-Browser-Lösung für die bidirektionale Echtzeitkommunikation zwischen einem Server und einem Client.

Dies führte zur Notwendigkeit des Web Sockets-Protokolls. Es entstand eine Vollduplex-Kommunikation, die allen Webbrowsern Desktop-Funktionen bietet.