Maison > Article > développement back-end > Exemple d'explication de la communication synchrone socket en Python3
Cet article présente principalement la fonction de communication synchrone du socket Python3 et analyse les techniques d'implémentation côté client et serveur de communication synchrone du socket Python sous la forme d'exemples simples. Les amis dans le besoin peuvent s'y référer
Cet article. donne l'exemple de la communication synchrone du socket Python3. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
Cet article est relativement simple, adapté aux débutants, prenez une note pour faciliter les copies futures
Un serveur, un client et c'est une méthode de blocage. Un seul client peut être accepté pour se connecter et communiquer à la fois.
Le client envoie 'bye' pour mettre fin à la communication avec le serveur. S'il envoie 'shutdown', le serveur s'arrêtera tout seul !
Code serveur :
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
Code client :
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()
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!