2013-09-24 26 views
6

Un'applicazione che non riesco a modificare sta lasciando cadere alcuni pacchetti UDP in entrata. Sospetto che il buffer di ricezione stia straripando. Esiste un'impostazione del Registro di sistema per rendere il buffer predefinito più grande di 8 KB?Modifica la dimensione del buffer di socket predefinita in Windows

+0

Date un'occhiata a questo [domanda] (http://stackoverflow.com/questions/1098897/what -is-the-largest-safe-udp-packet-size-on-the-internet) e anche [questo] (http://stackoverflow.com/questions/900697/how-to-find-the-largest- udp-packet-i-can-send-without-frammenting) –

+0

@ja_mesa I miei pacchetti udp sono TS su IP e sempre 7 * 188 = 1316 byte. Non sono preoccupato per la frammentazione. –

+0

Aumentare il buffer di ricezione sposta solo leggermente il problema. O rallenta il mittente o accelera il ricevitore. E non puoi eliminare la perdita di pacchetti in UDP. – EJP

risposta

2

Da this Per impostare la dimensione predefinita di Windows utilizzare le seguenti chiavi di registro: DWORD

[HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet\Services\Afd\Parameters] 

DefaultReceiveWindow = 10240 
DefaultSendWindow = 10240 
+0

Devo creare DefaultReceiveWindow e DefaultSendWindow in [HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Afd \ Parameters]? Poiché questi non sono disponibili nel mio registro. – Tariq

+0

Puoi provarlo, il riavvio del sistema è richiesto dopo la modifica. – zangw

+0

Grazie. Ho aggiunto i valori e riavviato il mio sistema. Impostare entrambi i valori su 16384. Ho raggiunto questo thread mentre cercavo una soluzione ai pacchetti RTP mancanti durante la decodifica del flusso RTSP utilizzando FFMPEG. Continuo a vedere la caduta del pacchetto RTP dal flusso RTSP nel processo di decodifica. – Tariq

Problemi correlati