2008-11-14 6 views
5

Ich mache ein Programm, das anständig große Mengen von Daten über einen Python-Socket abruft und dann sofort trennt, wenn die Information fertig ist zu senden. Aber ich bin mir nicht sicher, wie das allesEmpfangen von Daten über einen Python-Socket

zu tun, die Beispiele im Internet sind von TCP-Clients, wo sie

while 1: 
    data = sock.recv(1024) 

Aber das schafft einen Blick auf Endlosschleife Daten über die Steckdose zu empfangen, wird es nicht?

Ich muss herausfinden, die Größe der Nachricht kommen und durchlaufen es in puffergroßen Schritten, um die vollständige Nachricht zu erhalten. Und nachdem die Nachricht gesendet wurde, möchte ich die Verbindung trennen, obwohl ich denke, dass die Verbindung vom anderen Ende geschlossen wird. Jede mögliche Hilfe

Dank

Antwort

16

Sie haben wahrscheinlich einen sehr wichtigen Teil dieser examples verpaßt schön - die Linien, die die „recv()“ Aufruf folgen:

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