2009-02-07 4 views
5

Ich höre, dass ich Comet als Server Push-Technologie zusammen mit meinem Ajax-Code verwenden kann, um die Leistung meiner Web-Anwendungen zu erhöhen.Kompatibilität von Comet mit der aktuellen Technologie

Wie ausgereift diese Comet-Technologie?

Wird es von allen Webservern, Programmiersprachen und Browsern unterstützt?

Was sind die Nachteile der Verwendung von Comet?

Antwort

5

Es ist reif, obwohl ich denke, dass Sie es eher eine Technik als eine Technologie betrachten sollten.

Alle Webserver unterstützen es so weit ich weiß, obwohl Sie Ihren speziellen Webserver erforschen und konfigurieren müssen, wenn Sie eine Komet-Anwendung erstellen, da die Anforderungen an die Ressourcen ein bisschen anders sind. Insbesondere wird es weit mehr gleichzeitige offene Verbindungen zu Ihrem Server geben. In Bezug auf die Unterstützung von Programmiersprachen können Sie Server-Push unterstützen, wenn Ihre Serversprache einen Sperr- oder Wartemechanismus hat. Alle Browser unterstützen es auch, da es sich aus der Perspektive eines Browsers einfach um eine http (s) Verbindung handelt, die eine lange Zeit benötigt, um zurückzukehren.

Es gibt ein paar Nachteile, in der Browser-Welt ist die größte wahrscheinlich die Tatsache, dass einige Browser die Anzahl der offenen Verbindungen auf eine bestimmte URL auf zwei beschränken. Wenn Sie also einen Server haben, der die Verbindung blockiert und auf einige Push-Daten wartet, ist nur eine Verbindung verfügbar, damit der Browser Daten vom Server abrufen kann. Dies kann gemildert werden, indem Sie Ihre Ressourcen auf einige Second-Level-Domains verteilen, damit der Browser mehr Verbindungen öffnen kann.

+0

Funktioniert der Komet in allen Browsern? Gibt es (alte) Browser, die Inhalte nicht inkrementell in das DOM laden? – Pacerier

1

Comet wurde eigentlich verwendet, bevor der ganze Hype um AJAX begann: Es ist nur ein neuer Name für eine alte Idee. Die Leute haben versteckte iframes verwendet, um den Server für eine lange Zeit ohne Probleme zu emulieren.

+0

Haben Sie einen Verweis auf "Arbeit für eine lange Zeit ohne Probleme"? Wird Komet auf allen Browsern funktionieren? Gibt es (alte) Browser, die Inhalte nicht inkrementell in das DOM laden? – Pacerier

2

"Von allen Webservern unterstützt" ist ein bisschen eine seltsame Aussage. Die meisten Implementierungen sind ein eigenständiger Server, und Sie müssen einen Server finden, der in die Sprache integriert ist, die Sie verwenden möchten.

Das heißt, ich arbeite in einer Firma, die eine integrierte mit einem Server, speziell IIS.

Wenn Sie sich nicht mit der Serverintegration (Umgang mit verschiedenen Sprachen, Umgang mit Skalierung usw.) beschäftigen möchten, lesen Sie websync - der Service ermöglicht die problemlose Integration jeder Sprache, da sie gehostet wird, aber proxying Anfragen unterstützt durch Ihren eigenen Server, so dass Sie Ihre eigene Geschäftslogik hinzufügen können, Protokollierung, Berechtigungen, etc.