Python - Mehrere Verbindungen

Inhaltsverzeichnis
Wie wir wissen Python Es verfügt über viele Bibliotheken, die es uns ermöglichen, in Netzwerken zu arbeiten und Verbindungen zu verwalten, egal ob wir eine Verbindung zu Remote-Dateien herstellen oder unser Programm als Server dient, in grundlegenden Beispielen für die Verwendung von Sockets mit Python es hat sich gezeigt, dass es mit der Verwendung des Moduls sehr einfach zu handhaben ist SteckdoseDamit es jedoch eine robustere Anwendung ist, müssen wir in der Lage sein, mehrere Verbindungen zu handhaben.
Zur Handhabung mehrerer Verbindungen in Python wir können das gebrauchen Gabelung und von Einfädeln, um asynchrone Ein- und Ausgabeprozesse generieren zu können, die es uns erlauben, mehrere Verbindungen gleichzeitig zu betreuen.
Gabeln und Einfädeln
Wenn wir in den ersten Schritten des Programmierens sind oder nur strukturierte Programmierung gemacht haben, mögen diese Begriffe vielleicht kompliziert erscheinen, aber sie sind einfach zu verstehen und zu verdauen, lassen Sie uns die Definitionen sehen, bevor wir fortfahren.
Gabelung: Dies ist ein Begriff, der in Umgebungen verwendet wird UNIX und besteht darin, eine Verzweigung zu machen, mit einem Prozess duplizieren wir ihn und dann haben wir zwei gleiche Prozesse, aber jeder mit seinem Geltungsbereich, der ursprüngliche Prozess ist als Elternprozess bekannt und der duplizierte Prozess ist als Kindprozess bekannt, wenn wir machen In Analogie zur Science-Fiction können wir sie als Paralleluniversen sehen, in denen die gleichen Dinge existieren, nur dass sie sich an den gleichen Punkten unterschiedlich verhalten können.
Die Kehrseite von Gabelung ist, dass es in Bezug auf Ressourcen sehr teuer sein kann und deshalb haben wir die Einfädeln, ein Gewinde Es ist ein Thread, in diesem Fall sind die Threads Teilprozesse, die zum gleichen Prozess gehören und Speicher und Ressourcen teilen sehr vorsichtig mit den Elementen, zu denen die Themen um nicht zu kompromittierten Operationen zu führen.
Nachdem wir nun die Theorie und die Grundkonzepte kennen, werden wir einige Beispiele sehen, mit denen wir die Anwendung in sehen können Python.
Wie eingangs gesagt, dank der großen Anzahl von Modulen und Bibliotheken, die in Python, Programme mit Netzwerkfunktionalitäten zu erstellen ist sehr einfach, sodass wir uns auf die Logik statt auf die technischen Aspekte konzentrieren können.
Sehen wir uns im folgenden Bild ein Beispiel für Gabelung, dann erklären wir, was mit dem Code passiert:

Als erstes importieren wir die benötigten Module von SocketServer, wichtig das wir uns anschauen ist ForkingMixIn wer für die Verwaltung der Duplizierung der Prozesse bei jeder Anfrage verantwortlich ist, dann definieren wir die Klasse Server Ja HandlerInnerhalb von Handler platzieren wir einen Konstruktor, der verwaltet, was mit den eingehenden Verbindungen passiert. In diesem Fall erhält er den Namen des Clients und erstellt einen Siebdruck einer Nachricht; Schließlich instanziieren wir die Server-Klasse, übergeben ihr die Parameter, zuerst den Port, an dem Verbindungen akzeptiert werden, und dann die Klasse Handler, schließlich nennen wir die Methode Serve_forever um den Server zu starten, damit er Client-Anfragen verwalten kann.
Da wir sehen, dass diese Anwendung recht einfach ist, sehen wir uns an, wie wir etwas Ähnliches erreichen können Themen, im folgenden Bild haben wir ein Beispiel:

Wir können feststellen, dass es sich um fast genau den gleichen Code wie oben handelt, mit dem Unterschied, dass anstelle von ForkingMixIn, wir gebrauchen ThreadingMixInWie wir sehen können, sind dies die Schlüsselbibliotheken für dieses Verhalten, wenn Programme erstellt werden, die mehrere Verbindungen akzeptieren.Hat dir dieses Tutorial gefallen und geholfen?Sie können den Autor belohnen, indem Sie diesen Knopf drücken, um ihm einen positiven Punkt zu geben
wave wave wave wave wave