[PYTHON] So erstellen Sie ein einfaches TCP-Server / Client-Skript

Einführung

Erstellt, weil es zur einfachen Bestätigung der Kommunikation zwischen Servern verwendet werden kann. Das Buch, auf das ich mich bezog, war python2, also funktionierte es nicht subtil. Ich werde eine leicht modifizierte Version für Python3 hochladen.

Die Ausführungsannahme ist übrigens

Ausführungsumgebung

・ Python 3.7.6

Ausführungsverfahren

① Erstellen Sie TCPserver.py und TCPclient.py auf demselben Host ② Führen Sie TCPserver.py vom Terminal aus ③ Starten Sie ein anderes Terminal und führen Sie TCPclient.py aus

TCP-Client

TCPclient.py


import socket

target_host="127.0.0.1"
target_port=9999

#create socket object
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# connect to object
client.connect((target_host, target_port))

# data transmission
client.send(b"ABCDEFG")

#recieve data
response = client.recv(4096)
print(response)

TCP-Server

TCPserver.py



import socket
import threading

bind_ip = "0.0.0.0"
bind_port = 9999

server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

server.bind((bind_ip, bind_port))

server.listen(5)

print("[*] Listening on %s:%d" % (bind_ip, bind_port))

def handle_client(client_socket):
    request = client_socket.recv(1024)
    print("[*] Recieved: %s:" % request)
    client_socket.send("ACK!")
    client_socket.close()

while True:
    client,addr = server.accept()

    print("[*] Accepted connection from: %s:%d" % (addr[0],addr[1]))

    client_handler = threading.Thread(target=handle_client, args=(client,))
    cliend_handler.start()

Ausführungsergebnis

左側がTCPserver.py 右側がTCPclient.py Ausführungsergebnis von. コメント 2020-05-04 143049.png

abschließend

Ich denke, dass diese Menge an Code ausreicht, wenn ich es nur verbinde. Ich habe auch gelernt, wie einfach es ist, wenn Server und Client denselben Port haben. Apropos Lehrbücher, das ist richtig, aber wenn Sie sich ansehen, was mit Code funktioniert Das beeindruckt mich damit.

Recommended Posts

So erstellen Sie ein einfaches TCP-Server / Client-Skript
Übersicht über das Erstellen eines Server-Sockets und das Einrichten eines Client-Sockets
Erstellen Sie einen (einfachen) REST-Server
Erstellen Sie einen einfachen Textlint-Server
So erstellen Sie ein Conda-Paket
So erstellen Sie eine virtuelle Brücke
Wie erstelle ich eine Docker-Datei?
Schreiben Sie einen supereinfachen TCP-Server
So erstellen Sie eine Konfigurationsdatei
[Python Kivy] So erstellen Sie ein einfaches Popup-Fenster
So erstellen Sie einen Klon aus Github
So erstellen Sie einen Git-Klonordner
[Ubuntu] So führen Sie ein Shell-Skript aus
So erstellen Sie ein Repository aus Medien
Skript zum Erstellen einer Mac-Wörterbuchdatei
So führen Sie Maya Python-Skripte aus
So erstellen Sie ein Funktionsobjekt aus einer Zeichenfolge
[Hinweis] So erstellen Sie eine Ruby-Entwicklungsumgebung
So erstellen Sie ein 1-zeiliges Kivy-Eingabefeld
So richten Sie einen lokalen Entwicklungsserver ein
Verfahren zur Erstellung plattformübergreifender Apps mit kivy
So erstellen Sie eine Rest-API in Django
[Hinweis] So erstellen Sie eine Mac-Entwicklungsumgebung
[Python] So erstellen Sie eine lokale Webserverumgebung mit SimpleHTTPServer und CGIHTTPServer
[Go] So erstellen Sie einen benutzerdefinierten Fehler für Sentry
So erstellen Sie ein lokales Repository für Linux
Python-Skript, das eine JSON-Datei aus einer CSV-Datei erstellt
[Python] So erstellen Sie mit Matplotlib ein zweidimensionales Histogramm
So führen Sie Django unter IIS auf einem Windows-Server aus
Skript zum einfachen Erstellen einer Clientgeräteumgebung für AWS IoT (Python v2-Version)
Verwendung der NUITKA-Utilities-Hinweis-Kompilierung zum einfachen Erstellen einer ausführbaren Datei aus einem Python-Skript
Wie man ein Terminal hackt
Verwendung von GitHub auf einem Server für mehrere Personen ohne Kennwort
So führen Sie ein Python-Programm in einem Shell-Skript aus
So starten Sie AWS Batch über die Python-Client-App
So erstellen Sie mit snappyHexMesh ein Flussnetz um einen Zylinder
Wie man ein einfaches Flappy Bird-Spiel mit Pygame macht
Ich werde nie vergessen, wie man ein Shell-Skript schreibt, nicht vergessen! !!
So richten Sie einen einfachen SMTP-Server ein, der lokal in Python getestet werden kann
Wie erstelle ich eine japanisch-englische Übersetzung?
Einführung in die Socket-API in C-Sprache 3. TCP-Server / Client Nr. 1
[C-Sprache] [Linux] Versuchen Sie, einen einfachen Linux-Befehl zu erstellen. * Fügen Sie einfach hinzu! !!
So setzen Sie einen symbolischen Link
Übergeben von Argumenten an Python-Skripte in SPSS Modeler Batch
Ein Hinweis zum Überprüfen der Verbindung zum Lizenzserver-Port
So erstellen Sie einen NEM-Knoten (aktuelle Version) (NIS1: NEM Infrastructure Server)
Schritte zum Erstellen eines Django-Projekts
Erstellen Sie ein Shell-Skript, um die Python-Datei mehrmals auszuführen
Wie man einen lockeren Bot macht
Rails-Benutzer versuchen, mit Django eine einfache Blog-Engine zu erstellen
Wie erstelle ich einen Crawler?
So erstellen Sie eine rekursive Funktion