Innerhalb dieser Komponenten haben wir Twisted von der Firma Twisted Matrix Laboratories. Diese Komponente ist ein Framework, das sich an Netzwerkprogrammierungsereignissen für Python orientiert . Sie wurde ursprünglich für Videospiele entwickelt, wird derzeit jedoch häufig für alle Arten von Netzwerkprogrammen verwendet.
Twisted herunterladen und installieren
Die Installation von Twisted ist sehr einfach. Wir müssen zuerst die Version der Bibliothek herunterladen, die wir je nach System benötigen. Dazu können wir über den folgenden Link auf das Web zugreifen : http: // twistedmatrix. com, sobald wir dort sind, können wir die am besten geeignete Version finden, wie wir im folgenden Bild sehen können:
Wenn wir eine spezifischere Version benötigen, können wir durch Klicken auf den DOWNLOAD- Link in der oberen rechten Ecke der Site zum detaillierten Download-Bereich gehen.
Sobald wir die gewünschte Version erhalten haben, können wir sie installieren. Wenn wir Windows verwenden , führt uns das Installationsprogramm Schritt für Schritt durch die Anforderungen. Wenn es sich um ein anderes System handelt, müssen wir die Quellen beschaffen und im Ordner in die folgenden Schritte ausführen die wir entpacken die dateien:
python setup.py installieren
Sobald wir alles haben, können wir diese Bibliothek zum Erstellen unserer Programme verwenden.
Erstellen eines Basisservers
Am Anfang haben wir erklärt, dass Twisted ereignisorientiert ist und hier werden wir es sehen. Wenn Sie einen Server unter Verwendung der Python- Socket- Bibliotheken erstellen, müssen Sie eine Schleife deklarieren, die für die Überprüfung der neuen Verbindungen zuständig ist. In diesem Fall werden wir jetzt Event-Handler sein, die alle auftretenden Situationen verwalten.
Die Ereignisse, mit denen wir rechnen müssen, sind eine neue Verbindung, der Empfang von Daten, die Trennung eines Clients usw. Diese Ereignishandler sind in einem Protokoll definiert, und dieses Protokoll benötigt eine Factory , die die Objekte der Ereignisse erstellen kann. Dies mag verwirrend klingen, aber jetzt, da wir den Code sehen, wird alles klarer.
Nachfolgend sehen wir einen Code, in dem wir einen einfachen Server mit Twisted schreiben :
von twisted.internet import reaktor von twisted.internet.protocol import Protocol, Factory Klasse SimpleLogger (Protokoll): def connectionMade (self): print 'Verbindung erhalten von', self.transport.client def connectionLost (Selbst, Grund): print self.transport.client, 'disconnected' def dataReceived (self, data): Daten drucken factory = Factory () factory.protocol = SimpleLogger reactor.listenTCP (1234, Fabrik) reactor.run ()
Als Erstes importieren wir die erforderlichen Bibliotheken und Komponenten, in diesem Fall Reaktor, Protokoll und Factory , und behandeln dann die Ereignisse innerhalb einer Klasse, z. B. wenn wir eine neue Verbindung haben, eine Verbindung verloren haben und Daten empfangen.
Wir erstellen eine Instanz von Factory , die für den Bau der erforderlichen Objekte verantwortlich ist. Wir geben an, dass das Protokoll die Klasse ist, die wir erstellt haben, und schließlich stellen wir mit “Reactor” unser Programm so ein, dass es einen Port abhört. wie wir sehen können, ist es nicht kompliziert, es auf diese Weise zu sehen.