2009-02-19 11 views

risposta

3

SO_RCVBUF in winsock non è limitato dalle dimensioni della finestra TCP. Almeno per stack pre-Vista. Sarebbe limitato dalla disponibilità di pool non di paging, che è un argomento completamente diverso. Quindi puoi renderlo abbastanza grande, se vuoi.

Avviso non richiesto obbligatorio: se si utilizza un buffer di grandi dimensioni perché si riceve raramente, vorrei esaminare l'I/O asincrono con porte eventi/selezione/completamento.

1

In base a this article, sembra che il massimo sia 64 KB.

+0

Non sono sicuro che sia corretto. Lo sto impostando su valori significativamente più grandi senza errori. L'articolo che citi è piuttosto vecchio. – Matt

2

Non riesco a ricordare con certezza, ma credo che Windows supporti la funzione POSIX fpathconf() con l'opzione _PC_SOCK_MAXBUF. Se è così, questo è esattamente quello che stai cercando.

Problemi correlati