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
・ Python 3.7.6
① 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
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)
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()
左側がTCPserver.py 右側がTCPclient.py Ausführungsergebnis von.
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