In diesem Artikel wird hauptsächlich die synchrone Kommunikationsfunktion des Python3-Sockets vorgestellt und die clientseitige und serverseitige Implementierungstechnik des Python-Sockets anhand einfacher Beispiele analysiert
Dieser Artikel erzählt das Beispiel der synchronen Kommunikation mit dem Python3-Socket. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Dieser Artikel ist relativ einfach und für Anfänger geeignet. Machen Sie sich eine Notiz, um zukünftiges Kopieren zu erleichtern
Ein Server, ein Client und Es handelt sich um eine Blockierungsmethode. Es kann jeweils nur ein Client zur Verbindung und Kommunikation zugelassen werden.
Der Client sendet „bye“, um die Kommunikation mit dem Server zu beenden. Wenn er „shutdown“ sendet, fährt der Server selbst herunter!
Servercode:
from socket import * from time import ctime HOST = '' PORT = 21567 BUFSIZE = 1024 ADDR = (HOST, PORT) tcpSerSock = socket(AF_INET, SOCK_STREAM) tcpSerSock.bind(ADDR) tcpSerSock.listen(5) quit = False shutdown = False while True: print('waiting for connection...') tcpCliSock, addr = tcpSerSock.accept() print('...connected from: ', addr) while True: data = tcpCliSock.recv(BUFSIZE) data = data.decode('utf8') if not data: break ss = '[%s] %s' %(ctime(), data) tcpCliSock.send(ss.encode('utf8')) print(ss) if data == 'bye': quit = True break elif data == 'shutdown': shutdown = True break print('Bye-bye: [%s: %d]' %(addr[0], addr[1])) tcpCliSock.close() if shutdown: break tcpSerSock.close() print('Server has been
Clientcode:
from socket import * HOST = 'localhost' PORT = 21567 BUFSIZE = 1024 ADDR = (HOST, PORT) tcpCliSock = socket(AF_INET, SOCK_STREAM) tcpCliSock.connect(ADDR) while True: data = input('>') if not data: continue print('input data: [%s]' %data) tcpCliSock.send(data.encode('utf8')) rdata = tcpCliSock.recv(BUFSIZE) if not rdata: break print(rdata.decode('utf8')) if data == 'bye' or data == 'shutdown': break tcpCliSock.close()
Das obige ist der detaillierte Inhalt vonBeispielerklärung der Socket-synchronen Kommunikation in Python3. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!