Ist „long polling“ der effizienteste Weg, um einen Web-Echtzeit-App erstellen?
-
19-09-2019 - |
Frage
Ich möchte eine Anwendung wie diese erstellen:
Was ist der effizienteste Weg, um diese Echtzeit-Anwendung zu erstellen?
Flash-? Lang-Abfrage? Http Streaming? oder etwas anderes?
Danke;)
Lösung
Für den Moment ist lange Polling wahrscheinlich die beste Lösung. Viele namhafte Sites haben lange Polling-Implementierungen, einschließlich Facebook, Google und eBay. Nicht jeder hat Flash installiert / aktiviert in ihren Browsern. In Zukunft Web Sockets könnte der Lage sein, eine einfachere Aufgabe, es für uns zu tun.
Update: Zum Zeitpunkt des Schreibens, der WebSocket-API ist in der neuesten WebKit (Chrome / Safari) und Firefox 4 beta implementiert. Es gibt auch ein öffentliches Snapshot-Build von Opera zum Herunterladen mit einer Implementierung der API. Dies bedeutet, das API Testen ist weit verbreitet. Weitere Informationen finden Sie diese Antwort .
Andere Tipps
Die verschiedenen Methoden haben unterschiedliche Vor- und Nachteile, ich bin kein Spezialist auf die Unterschiede, deshalb werde ich Ihnen empfehlen, auf vermeidet sie die Wahl , vermeiden die Entwicklung und Abstimmung, dass jeder Ansatz beinhaltet, die zukünftigen Veränderungen in der verfügbaren Technologien vermeiden, eine Bibliothek, die mit der Transportmethode verwendet abstrahiert, und wählt den besten Ansatz, der auf Client-Fähigkeiten (dh als HTML5 Web Sockets Ankunft.):
diese wunderbare Bibliothek macht Echtzeit-Erstellung von Apps erstaunlich einfach! und es gibt verschiedene serverseitige Implementierungen: Python (Tornado), Java, Google GO, Rack (Rubin) neben der Mainstream-Implementierung in Node.js (serverseitige JavaScript)
Ich glaube nicht lange Polling effizienteste Weg ist Comet zu tun. Wie dem auch sei, sendet es neue HTTP-Anforderung nach Antwort bekam ist. Es kostet mehr zusätzliche HTTP-Anforderungen als HTTP-Streaming.
Aber, Lang Polling könnte sein, zuverlässiger und einfacher zu implementieren als HTTP-Streaming. Gemäß dieser Artikel in Google Code , HTTP-Streaming wenn Zwischen HTTP-Proxy-Puffer Inhalt möglicherweise nicht funktionsfähig sein.
Es ist interessant, dass GMail nicht nicht verwendet Lang Polling. Mit Hilfe von Http-Sniffer, ist es klar, dass es nutzt HTTP-Streaming für Comet.