udp non ha il concetto di connessione, quindi può restituire 0? e se può, qual è il suo significato
Significa che è stato ricevuto un datagramma di lunghezza 0. Dal grande UNP:
La scrittura di un datagramma di lunghezza 0 è accettabile. Nel caso di UDP, ciò si traduce in un datagramma IP contenente un'intestazione IP (normalmente 20 byte per IPv4 e 40 byte per IPv6), un'intestazione UDP a 8 byte e nessun dato.Ciò significa anche che un valore di ritorno di 0 da recvfrom è accettabile per un protocollo di datagrammi :Non significa che il peer ha chiuso la connessione, così come un valore restituito di 0 dalla lettura su un socket TCP. Poiché UDP è senza connessione, non esiste una chiusura di una connessione UDP.