2008-11-14 13 views
5

Robię program, który pobiera przyzwoicie duże ilości danych przez gniazdo Pythona, a następnie natychmiast rozłącza, gdy informacja jest zakończona wysyłania. Ale nie jestem pewien, jak to zrobićodbierania danych przez gniazdo Pythona

Wszystkie przykłady w internecie są od klientów tcp gdzie mają

while 1: 
    data = sock.recv(1024) 

ale ten tworzy wygląd nieskończonej pętli do odbioru danych przez gniazdo, czy nie jest?

Muszę określić rozmiar nadchodzącej wiadomości i przechodzić przez nią w przyrostach wielkości bufora, aby uzyskać pełną wiadomość. Po zakończeniu wysyłania wiadomości chciałbym się rozłączyć, chociaż myślę, że połączenie zostanie zamknięte z drugiego końca. Każda pomoc będzie miło

Dzięki

Odpowiedz

16

Pewnie brakowało bardzo ważną część tych examples - linie, które podążają za „recv()” wezwanie:

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