WebSockets-Alternativen für den Android-Browser

Der im Android-Betriebssystem enthaltene Webbrowser unterstützt kein WebSockets, ein Protokoll, das fortlaufende Verbindungen zwischen Webservern und Webclients oder Browsern aufrechterhält. Wenn Ihr Unternehmen die Entwicklung von mit Android kompatiblen Websites vorsieht, für die persistente Verbindungen anstelle von asynchronen Verbindungen erforderlich sind, benötigen Sie eine Alternative zu WebSockets, von denen es einige gibt, und deren Implementierung ist kostenlos. Programmierimplementierungen wie BOSH, das Google Application Programming Interface und Comet bieten alle Methoden für kontinuierliche Verbindungen.

WebSockets-Grundlagen

Bei der Entwicklung von Alternativen zu WebSockets ist es hilfreich zu wissen, was sie sind. Im Gegensatz zur "Web 2.0" -Entwicklung, bei der traditionell die asynchrone Kommunikation zwischen Client-Browsern und Servern im Mittelpunkt stand, hat WebSockets eine offene Verbindung zwischen den beiden. Die asynchrone Kommunikation erfordert ein ständiges "Abfragen" oder Überprüfen seitens des Browsers des Benutzers. Das bedeutet, dass der Browser den Server fragen muss, ob neue Informationen in einem Dokument vorhanden sind, ohne dass dies vorher bekannt ist. WebSockets verzichten darauf und halten den ständigen Kontakt zwischen Browser und Server aufrecht. Jede Alternative sollte dasselbe erreichen.

BOSH

Da der native Android-Browser WebSockets nicht unterstützt, müssen Sie ein anderes Framework implementieren. Bidirektionale Streams über synchrones HTTP bieten eine solche Alternative. BOSH ahmt die Implementierung einer kontinuierlichen TCP-Kommunikationsleitung nach. In BOSH antwortet der Server nicht auf Browseranforderungen, bis tatsächlich Daten zum Senden vorliegen. Darüber hinaus akzeptiert der Server keine Clientverbindung für Daten, bis nach der Anforderung eine zweite HTTP-Verbindung hergestellt wird. Dies bedeutet, dass sofortige Verbindungen nur dann hergestellt werden, wenn für die betrachtete Seite relevante Daten vorhanden sind oder gesendet werden, wodurch die Bandbreite reduziert und die Geschwindigkeit verringert und die Geschwindigkeit beim Laden Ihrer Webseite erhöht wird.

Google Channel API

Die Google Channel-API hält eine offene Verbindung zwischen Google-Servern und Google-Seiten und -Anwendungen aufrecht. Mithilfe eines JavaScript-Clients zur Implementierung der API kann die Seite oder Anwendung eine sichere Verbindung zu Google-Servern herstellen, über die Google-Server einen konstanten Datenstrom ohne wiederholtes Abfragen senden können. Dies ermöglicht Echtzeit-Aktualisierungen, die für Seiten und Apps mit Kopf-an-Kopf-Spielen von großem Nutzen sein können. Dies ist praktisch, wenn Sie Google-kompatible Anwendungen entwickeln möchten.

Comet und AJAX

Während die vorherigen Beispiele zeigen, wie synchrone Verbindungen durch verschiedene Methoden aufrechterhalten werden, versucht der Comet - mit AJAX - Verbindungsstil innerhalb eines offenen Rahmens, die Verwendung von asynchronem Polling aufrechtzuerhalten. Comet versucht, die Probleme bei der Clientabfrage, einschließlich Bandbreitenkosten und -verlangsamung, zu verringern, indem Standards bereitgestellt werden, nach denen Server Daten ohne Abfragen senden können. Comet führt jedoch zu Implementierungsproblemen, da Browser die integralen Bestandteile der Technologie wie Codierung und Anforderungsverarbeitung nicht auf dieselbe Weise verwenden.

Beliebte Beiträge