13 Stimmen

Auswahl und Einsatz eines Comet-Servers

Ich möchte Daten über HTTP an den Browser übertragen, ohne meine Django/Python-Anwendung zu beenden.

Ich habe mich entschieden, einen Comet-Server zu verwenden, um Anfragen zwischen meiner Anwendung und dem Client zu vermitteln (obwohl ich das noch nicht ganz verstanden habe).

Ich habe mir die folgenden Motoren angesehen: umkreist cometd ejabberd jetty

Hat jemand Erfahrung mit diesen Servern und deren Einsatz? Jede Einsicht und jeder Link zu diesen Themen wäre großartig. Ich danke Ihnen.

5voto

ironfroggy Punkte 7655

Ich würde empfehlen, sich Twisted, ihren twisted.web-Server und die darauf aufbauende Arbeit von Divmod anzusehen. Sie können weit mehr gleichzeitige Verbindungen verarbeiten als traditionelle thread- oder prozessbasierte Server, was genau das ist, was man für so etwas braucht. Und ja, ich habe Systeme entwickelt, die Twisted für COMET-Zeug verwenden, während ich andere Dinge für die eher frontalen Webanwendungen daneben benutze. Es funktioniert gut, wenn jeder Teil das tut, was er am besten kann.

2voto

Tiago Punkte 8909

Ich muss etwas ganz Ähnliches machen. Ich habe das hier gefunden, hatte aber noch nicht die Zeit, es mir genau anzusehen:

django_evserver ist ein einfacher http-Server für Django-Anwendungen. Er basiert auf libevent-Bibliothek. Der Hauptvorteil von django_evserver ist, dass er die Methoden zur Vorwegnahme von Django-Ansichten. Sie können eine Website in mehreren Chunks gerendert werden, jeder von ihnen kann von verschiedenen django-Ansichten behandelt werden.

Mit dieser Idee ist es möglich, Folgendes zu verwenden django_evserver als Comet-Server für django-Anwendungen zu verwenden.

http://code.google.com/p/django-evserver/

2voto

Supertux Punkte 7598

Wenn Sie Java ausführen können, würde ich empfehlen StreamHub Comet-Server .

Erstens, was Ihr Bedürfnis betrifft, Ihre bestehende Anwendung nicht zu "killen", hat das JavaScript-Include einen wirklich geringen Fußabdruck von weniger als 10K. Ich verwende es für die Übertragung von Benutzer-Updates und Chat auf der Social-Networking-Website, die ich baue. Ich habe es mit mehr als 1000 Zugriffen pro Tag getestet und es gab keine spürbaren Auswirkungen auf die CPU.

Zweitens habe ich bei der Bereitstellung einige der Beispiele befolgt und war im Vergleich zu CometD, bei dem ich mit dem Kopf gegen eine Wand geschlagen habe, sehr schnell einsatzbereit. Es gibt eine gute Comet Hallo Welt Leitfaden für die ersten Schritte und ein Google-Gruppe wenn Sie bei etwas nicht weiterkommen.

2voto

user143112 Punkte 21

Eine Möglichkeit ist Netty, ein Client-Server-Socket-Framework, das auf Java NIO von JBoss basiert. Für einen Vergleich und eine Diskussion siehe hier . Berichten zufolge bewältigt er 100000 gleichzeitig geöffnete Verbindungen auf einem Quad-Core-Server.

2voto

jvenema Punkte 43201

Wenn Sie mit IIS arbeiten, können Sie WebSync ausprobieren ( http://www.frozenmountain.com/websync ), ein standardkonformer (Bayeux) Comet-Server und -Client für .NET/IIS. Wenn Sie die zusätzliche Belastung nicht wünschen, ist die On-Demand-Version eine SaaS-Option, die Ihnen die schwere Arbeit abnimmt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X