2008-11-14 13 views
5

Je crée un programme qui récupère décemment de grandes quantités de données via un socket python, puis se déconnecte immédiatement lorsque l'envoi des informations est terminé. Mais je ne sais pas comment faire cerecevoir des données sur un socket python

Tous les exemples sur le web sont des clients tcp où ils ont

while 1: 
    data = sock.recv(1024) 

Mais cela crée un regard à boucle infinie pour recevoir des données via la prise, ne pas?

Je dois déterminer la taille du message entrant et le parcourir en incréments de la taille de la mémoire tampon pour obtenir le message complet. Et après que le message ait fini d'envoyer, je voudrais me déconnecter, bien que je pense que la connexion sera fermée de l'autre extrémité. Toute aide serait bien

Merci

Répondre

16

Vous avez probablement manqué une partie très importante de ces examples - les lignes qui suivent le « recv() » appel:

while 1: 
    data = conn.recv(1024) 
    if not data: break 
    conn.send(data) 
conn.close() 
Questions connexes