3 Möglichkeiten, einen Server mit Python zu schreiben

Inhaltsverzeichnis:

3 Möglichkeiten, einen Server mit Python zu schreiben
3 Möglichkeiten, einen Server mit Python zu schreiben

Video: 3 Möglichkeiten, einen Server mit Python zu schreiben

Video: 3 Möglichkeiten, einen Server mit Python zu schreiben
Video: Outlook 2007: Manuelles Archivieren 2024, April
Anonim

Einen Server von Grund auf neu zu erstellen ist eine große Aufgabe. Dies kann jedoch Ihre Programmierfähigkeiten erheblich verbessern und es Ihnen ermöglichen, es an Ihre Bedürfnisse anzupassen. Dieses Tutorial verwendet Python- und Low-Level-Socket-Programmierung, um einen Server zu erstellen, damit Clients miteinander kommunizieren können. Dies wird auch nur den Prozess unter Windows abdecken. Einige Informationen werden in der Anleitung angegeben, aber wenn Sie nur den Code wünschen, ist er in den Abbildungen enthalten. (Hinweis: Die hier vorgestellten Anweisungen sind nur die Grundlagen).

Schritte

Methode 1 von 3: Python installieren

Einen Server mit Python schreiben Schritt 1
Einen Server mit Python schreiben Schritt 1

Schritt 1. Python herunterladen

Gehen Sie zur Hauptwebsite von Python und laden Sie Python 2.7.10 herunter. Führen Sie nach dem Herunterladen die Schritte des Python-Installationsprogramms mit den Standardeinstellungen durch. Dieser Link wird hier bereitgestellt

Einen Server mit Python schreiben Schritt 2
Einen Server mit Python schreiben Schritt 2

Schritt 2. Führen Sie IDLE (Python-GUI) aus

Gehen Sie in den Python 2.7-Ordner und führen Sie IDLE (Python GUI) aus. Python sollte sich jetzt in Ihrem Startmenü befinden, in dem sich der IDLE befindet.

Schreiben Sie einen Server mit Python Schritt 3
Schreiben Sie einen Server mit Python Schritt 3

Schritt 3. Erstellen Sie eine neue Datei

Gehen Sie zu Datei in der oberen linken Ecke des neu geöffneten Fensters und wählen Sie Neue Datei, Sie sollten ein leeres Fenster mit dem Titel Unbenannt geöffnet haben.

Methode 2 von 3: Erstellen des Servers

Schreiben Sie einen Server mit Python Schritt 4
Schreiben Sie einen Server mit Python Schritt 4

Schritt 1. Importieren Sie die benötigten Module

Die beiden für diesen Code benötigten Module sind „Socket“und „Threading“. Geben Sie dazu in der ersten Zeile „from socket import *“und in der nächsten Zeile „import threading“ein.

Schreiben Sie einen Server mit Python Schritt 5
Schreiben Sie einen Server mit Python Schritt 5

Schritt 2. Erstellen Sie einen neuen Thread

Dadurch wird das Abgleichen von 2 Clients miteinander verarbeitet. Threads sind Prozesse, die ausgeführt werden können, während das Hauptprogramm ausgeführt wird. Geben Sie genau so ein, wie die Abbildung zeigt. Dadurch werden die Variablen im Thread eingerichtet, damit sie später aufgerufen werden können.

Schreiben Sie einen Server mit Python Schritt 6
Schreiben Sie einen Server mit Python Schritt 6

Schritt 3. Thread-Prozess erstellen

Damit Clients direkt kommunizieren können, müssen Sie sich gegenseitig Informationen senden, einschließlich ihrer IP-Adresse und des von ihnen verwendeten Ports. Dazu müssen Sie ein Socket-Objekt erstellen, was mit „variableName = socket(AF_NET, SOCK_DGRAM)“möglich ist. Dadurch wird ein Socket-Objekt erstellt, das das UDP-Protokoll verwendet. Weiter Binden Sie den Socket an Ihre IP-Adresse mit einer bestimmten Portnummer mit "roomSocket.bind((' ', self.port))". Portnummer, die beim Aufrufen dieses Threads enthalten ist. Das Letzte, was Sie mit diesem Socket tun müssen, ist, Informationen darüber zu senden. Da dies ein UDP-Socket ist, müssen Sie lediglich die IP und den Port des Computers kennen, an den Sie Informationen senden. Die Syntax zum Senden lautet „socketName.sendto(IP, port)“.

Schreiben Sie einen Server mit Python Schritt 7
Schreiben Sie einen Server mit Python Schritt 7

Schritt 4. Erstellen Sie die globalen Variablen

Für diesen Schritt müssen Sie mehrere Variablen definieren, darunter eine Benutzerliste, Portnummern, Client-Anzahl, Clients für den Thread und die Raum-ID. Sie müssen auch einen Socket erstellen, damit Ihr Server mit dem Internet interagieren kann. Dies geschieht, indem Sie ein neues Socket-Objekt erstellen und es mit einer bestimmten Portnummer an Ihre IP-Adresse binden. (Die Portnummer kann beliebig sein, ist jedoch normalerweise etwas hoch, um zu vermeiden, dass sie von einem anderen Prozess verwendet oder reservierte Portnummern verwendet werden.)

Schreiben Sie einen Server mit Python Schritt 8
Schreiben Sie einen Server mit Python Schritt 8

Schritt 5. Erstellen Sie den Hauptserverprozess

Dies nimmt die Clientadresse auf und startet den zuvor erstellten Thread. Dazu gehört das Warten auf den Empfang von Daten aus dem Puffer und das Abrufen der Client-Adresse und das Speichern zur Verwendung im Thread. Um Informationen von Ihrem Socket zu erhalten, rufen Sie „socketName.recvfrom(1024)“auf. Die Zahl hier ist nur die Anzahl der Bytes, die gleichzeitig gelesen werden. In diesem Beispiel speichern wir sie in einer Variablen namens userAddr, und sobald dies geschieht, können Sie diese Adresse in der Liste speichern, die in Schritt 4 erstellt wurde. Die if-Anweisung erstellt einen Raum-Thread, wenn sich zwei Personen verbinden, und erstellt nur einen Raum wenn zwei verschiedene Verbindungen auftreten.

Schreiben Sie einen Server mit Python Schritt 9
Schreiben Sie einen Server mit Python Schritt 9

Schritt 6. Speichern Sie Ihre Arbeit

Dies sollte in einem leicht zugänglichen Verzeichnis erfolgen, damit es zum Testen leicht zugänglich ist.

Methode 3 von 3: Testen

Schreiben Sie einen Server mit Python Schritt 10
Schreiben Sie einen Server mit Python Schritt 10

Schritt 1. Erstellen Sie einen Testclient

Dies ist ein sehr einfacher Client, der nur verarbeitet, ob der Server die Informationen des anderen Clients an den aktuellen Client gesendet hat oder nicht. Bitte beachten Sie, dass dieser Code im Gegensatz zum Servercode einen Servernamen erfordert. Wenn Sie all dies auf einem Computer ausführen, sollte der Servername der Name Ihres PCs sein. Sie können Ihren Computernamen herausfinden, indem Sie mit der rechten Maustaste auf Arbeitsplatz klicken und zu Eigenschaften gehen.

Schreiben Sie einen Server mit Python Schritt 11
Schreiben Sie einen Server mit Python Schritt 11

Schritt 2. Speichern Sie Ihre Arbeit

Dieser sollte sich im selben Verzeichnis wie der Servercode befinden.

Schreiben Sie einen Server mit Python Schritt 12
Schreiben Sie einen Server mit Python Schritt 12

Schritt 3. Öffnen Sie drei verschiedene Befehlsfenster

Gehen Sie zum Startmenü und geben Sie in die Suchleiste „cmd“ein und drücken Sie die Eingabetaste. Tun Sie dies dreimal. So sollten die Fenster aussehen.

Schreiben Sie einen Server mit Python Schritt 13
Schreiben Sie einen Server mit Python Schritt 13

Schritt 4. Führen Sie die Programme aus

Sie müssen den genauen Pfad eingeben, wenn Sie das Befehlsfenster verwenden. Sie müssen zuerst den Servercode in einem Befehlsfenster und dann den Testclientcode in den anderen beiden ausführen. Wenn alles erfolgreich war, erhalten Sie diese Meldungen in Ihrem Fenster.

Warnungen

  • Dieses Programm funktioniert nur, wenn es ausgeführt wird und Clients im selben lokalen Netzwerk getestet werden.
  • Python 2.7.10 ist veraltet und nähert sich dem Ende seiner Unterstützung. Um weiterhin gute Server zu erstellen, wird empfohlen, stattdessen die neueste Version von Python 3 zu installieren.

Empfohlen: