Bonjour Tous le monde,
Je suis entrain de créer une server-client. Je souhaite enregistrer les messages envoyés par le client. Mais je rencontre un problème; C'est-à-dire, il continue à envoyer le message. Le dernier boucle while ne s'arrête pas; Pouvez-vous me dire où se trouve mon problème ?. Et je n'arrive pas enregistré sur les conversations sur le fichier text.txt
programme fichier:
programme serveur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 import socket import os host = '127.0.0.1' port = 4001 ClientSocket = socket.socket() print('Attend pour la connexion') try : ClientSocket.connect((host,port)) except socket.error as e: print(str(e)) Response = ClientSocket.recv(1024) while True: Input = input('Votre message') if Input == "Dossier": print("Saisir le nom de fichier") demande = input() fichier = open(demande,"rb") l = fichier.read(1024) print('entrer un nom de fichier') demande1 = os.mkdir("/home/deeloshan/apprendre_projet_suisse/projet_1/test.txt") while(l): ClientSocket.send(l) l = fichier.read(1024) ClientSocket.send(str.encode(Input)) Response = ClientSocket.recv(2048) print(Response.decode('utf-8')) filename = 'text.txt' file1 = open(filename,"w") while(Response): file1.write(Response.decode('utf-8')) file1.close() ClientSocket.close()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 import socket from _thread import * host = '127.0.0.1' port = 4001 ThreadCount = 0 def client_handler(connection): connection.send(str.encode("You are now connected to the replay erver... Type BYE to stop")) while True: data = connection.recv(2048) message = data.decode('utf-8') if message == 'BYE': break reply = f'Server : {message}' connection.sendall(str.encode(reply)) connection.close() def accept_connections(ServerSocket): Client, address = ServerSocket.accept() print('Connected to :' + address[0] + ':'+str(address[1])) start_new_thread(client_handler,(Client,)) def start_server(host,port): ServerSocket = socket.socket() try: ServerSocket.bind((host, port)) except socket.error as e: print(str(e)) print(f'Server is listing on the port{port}') ServerSocket.listen() while True: accept_connections(ServerSocket) start_server(host, port)
Partager