So erstellen Sie einen einfachen Multithread-Socket-Server in Python, der sich an Clients erinnert

Wie erstelle ich einen einfachen Python-Echoserver, der sich an Clients erinnert und nicht für jede Anforderung einen neuen Socket erstellt? Muss den gleichzeitigen Zugriff unterstützen können. Ich möchte in der Lage sein, eine einmalige Verbindung herzustellen und fortlaufend Daten mit diesem Client oder ähnlichem zu senden und zu empfangen:

import socket

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = raw_input("Server hostname or ip? ")
port = input("Server port? ")
sock.connect((host,port))
while True:
    data = raw_input("message: ")
    sock.send(data)
    print "response: ", sock.recv(1024)

Das heißt Wenn der Server auf Port 50000 ausgeführt wird und der oben genannte Client verwendet wird, möchte ich Folgendes tun können:

[email protected]:~$ client.py
Server hostname or ip? localhost
Server Port? 50000
message: testa
response: testa
message: testb
response: testb
message: testc
response: testc

Antworten auf die Frage(1)

Ihre Antwort auf die Frage