Erwartungen:
Hier sind einige wichtige Punkte aus diesem Artikel erfahren
Allgemeines Einrichten von Diagramm:
System A und B sollten in der Lage sein, sich gegenseitig zu pingen.
Annahmen oder Einschränkungen:
HINWEIS: Sie können die Referenz überprüfen, um UDP -Pakete über Linux CLI zu senden und zu empfangen, bevor Sie Python -Dateien entgehen, um dieselbe Aufgabe zu erledigen.
Python -Dateien:
Es gibt zwei Python -Dateien Server.py Und Klient.py. Die Serverdatei und die Clientdatei sollten im Serversystem und im Client -System vorhanden sein.
Server.py
Socket importierenKlient.py
Socket importierenUDP -Paket senden/empfangen:
Nehmen wir ein Beispiel, wie wir das UDP -Paket von System A nach System B senden werden. Im Server-Client-Konzept müssen wir den Server auf System B Side und Client auf System A A-Seite ausführen.
Außerdem haben wir gültige IP -Adressen.
System A IP: 192.168.1.6Im Gegensatz zum Senden und Empfangen von UDP -Paketen über Linux CLI werden wir ausführen Server.py im System, B [192.168.1.102] Und dann werden wir rennen Klient.py im System A [192.168.1.6].
So führen Sie Server aus.PY im Jahr 192.168.1.102?
Hier ist der Befehl zum Ausführen von Server.py
$ python3 Server.PY 192.168.1.102 4444Hier ist der Screenshot
Hier gibt es zwei Argumente für das Python -Programm. 1st Argument ist die IP -Adresse des Servers selbst, hier seine 192.168.1.102 und 2nd Argument ist Port, welcher Server zuhören wird, hier haben wir 4444 ausgewählt.
So leiten Sie Kunden.PY im Jahr 192.168.1.6?
Hier ist der Befehl zum Ausführen von Kunden.py
$ python3 Client.PY 192.168.1.102 4444Hier ist der Screenshot
Hier gibt es zwei Argumente für das Python -Programm. 1st Argument ist die IP -Adresse des Servers, hier seine 192.168.1.102 und 2nd Argument ist Port, in dem der Server ausgeführt wird. Für unser Beispiel ist es 4444.
Senden oder empfangen Sie einen Text:
Wie Sie sehen, sind wir bereit, zwischen zwei Systemen zu kommunizieren. Aber wir müssen zuerst vom Kunden beginnen. Geben wir etwas in den Client ein und prüfen, ob es auf Server erreicht oder nicht.
Daten vom Client senden: "Ich bin vom Kunden"
Screenshot Form Client:
Jetzt sollte diese Client -Nachricht zum Server kommen. Hier ist der Server -Screenshot.
Jetzt können wir auf der Serverseite auch sehen, dass wir auch die Möglichkeit haben, etwas an den Client zu senden. Versuchen wir das.
Daten vom Client senden: "Ich bin vom Server"
Server Screenshot:
Und hier ist der Screenshot auf der Clientseite.
Jetzt dauert dies unendliche Zeiten, bis wir das Python -Programm mit Strg+C einstellen.
Überprüfen Sie das UDP -Paket in Wireshark:
Jetzt haben wir eine Kommunikation gemacht, aber wie können wir erfahren, dass UDP verwendet wurde, um diese Pakete zu senden oder zu empfangen. So können wir die Capture in Wireshark überprüfen.
Lassen Sie uns das Paket sehen, wenn der Kunde [192).168.1.6] Daten gesendet ["Ich bin von Client"] an Server [192.168.1.6].
Code Erläuterung:
Für die Erläuterung des grundlegenden Python -Code.
Wir werden nur wichtige Zeilencodes für die Client- und Server -Python -Datei erklären. Es gibt nützliche Kommentare im Client- und Servercode.
Client -Code Erläuterung:
Wenn Len (sys.argv) == 3:Die obige Zeile ist erforderlich, um zu überprüfen, ob der Benutzer die erforderlichen obligatorischen Argumente bestanden hat. Oder sonst wird das Programm beendet. Gleiche Überprüfung ist im Serverprogramm vorhanden.
S = Socket.Sockel (Sockel.Af_inet, Sockel.SOCK_DGRAM, 0)Die obige Zeile besteht darin, einen Socket -Server mit UDP zu erstellen [SOCK_DGRAM] Protokoll. Der gleiche Code ist auf dem Server vorhanden.py.
während wahr:Programm in unendlicher Schleife ausführen, bis der Benutzer Strg+C durchführt. Der gleiche Code ist auf dem Server vorhanden.py.
S.sendTo (send_data.codode ('utf-8'), (ip, port))Daten für genannte Senden IP Und Hafen Nummer.
Daten, Adresse = s.recvfrom (4096)Daten vom Server zu erhalten. Der gleiche Code ist auf dem Server vorhanden.py.
Servercode Erläuterung:
S.sendTo (send_data.codieren ('utf-8'), Adresse)Daten an die Client -Adresse senden.
Abschluss:
Wir können UDP -Daten mit dem Python -Programm senden oder empfangen. Intern wird der Server -Client -Mechanismus verwendet.
Verweise:
TCP zu verstehen: https: // linuxhint.com/tcp_packet_capture_analysis/
UDP zu verstehen: https: // linuxhint.com/udp_wireshark_analysis/
Senden und empfangen Sie UDP -Pakete über Linux CLI:
https: // linuxHint.com/send_receive_udp_packets_linux_cli/
Python Socket -Dateiübertragung senden:
https: // linuxHint.com/python_socket_file_transfer_send/