Frage

Ich muss helfen, zu verstehen, was der Vorteil der Verwendung eines asynchron-framework ist.Angenommen, ich möchte die Entwicklung einer einfachen chat-app.Warum kann nicht ich Schreibe python-code in der Django-framework, die nicht lange polling, wo ich nicht eine Antwort senden zurück die server, bis jemand eine neue Nachricht.Was bedeutet Twisted bieten, es gibt einen Vorteil für real-time apps wie die, die chat-app?

Sorry, ich bin offensichtlich wenig verwirrt über die Notwendigkeit einer asynchronen Rahmen.

War es hilfreich?

Lösung

Asynchrone Server-Unterstützung viel größere Anzahl von gleichzeitigen client-verbindungen.Mehr konventionellen Servern, gegen den thread und Prozess-Grenzen bei der Wartung einer großen Anzahl von gleichzeitigen clients, besonders diejenigen, die mit langlebigen verbindungen.Async-Server kann auch bieten eine bessere Leistung, wie Sie vermeiden, die Kosten von z.B.thread-Kontextwechsel.

Sowie die Twisted Rahmen, es gibt auch asynchrone server-Blöcke in Python ' s standard library:zuvor asyncore und asynchat, sondern nun auch asyncio.

Andere Tipps

Als erstes Django ein Framework ist Web-Anwendungen zu schreiben, so dass es ORM, html Templating bietet, erfordert es einen HTTP-Server ausgeführt wird usw. Verdrehte viel niedrigeren Level-Code als das schreiben hilft. Sie könnten verdrehte verwenden, um den HTTP-Server Django läuft auf zu schreiben. Wenn Sie Django verwenden Sie http Modell beschränkt, mit verdreht könnte es in jedem Protokoll kommunizieren Sie einschl.Tastentelefone Protokolle mögen. Also für Ihr Chat-Beispiel Sie einen Server erhalten, die besser skaliert, da es Kommentare zu Menschen schieben kann, die mit django in VS angemeldet haben, jeder Kunden wiederholt abfragen zu müssen.

bearbeitet widerzuspiegeln Kommentare von: sos-skyl

Der größte Vorteil für mich ist, dass verdreht mir eine Anwendung gibt, den Staat hat, und mit vielen unterschiedlichen Kunden mit vielen Protokollen kommunizieren kann.

Für mich, mein Verdrehte Server kommuniziert mit einer Anzahl von Sensoren in den Häusern und Unternehmen installiert, die den Energieverbrauch überwachen. Er speichert die Daten und hält die jüngsten Daten und Zustand in Handy-Dandy Python Klassen im Speicher. Anfragen über xmlrpc von django diesen Zustand erhalten und die jüngsten Daten für den Benutzer darstellen können. Mein Gridspy Zeug ist noch in der Entwicklung, so dass die eigentliche Website bei your.gridspy.co.nz ein bisschen ist Pre-Alpha.

Der beste Teil ist, dass man erstaunlich wenig Code benötigt einen effektiven Server zu machen. Eine erstaunliche Menge der Arbeit ist für Sie erledigt.

In verdrillt Sie Protokolle der eigenen implementieren können. Django sicherlich kann dies nicht tun.

Sie könnten verwenden WHIFF statt entweder :). Auschecken http://aaron.oirt.rutgers.edu/myapp/gfChat/nucularChatRoom die verwendet eine Javascript Abfrageschleife mit json zu überprüfen für Server-Updates. Sie könnten wahrscheinlich etwas ähnliches tun in Django, aber ich weiß nicht, wie, weil ich auf Django aufgab.

btw: Ich hoffe, dass diese Demo auf dem Google App Engine bewegen als ein vollständigeres Service, wenn mein Leben beruhigt ein wenig nach unten.

Wenn Sie an einem bestimmten Quelle suchen mögen, für die Integration von Twisted-und Django, hat einen Blick auf Yardbird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top