Szybkie pytanie, czy ktoś wie, jaki jest limit dla SO_RCVBUF w systemie Windows.maksymalna wartość SO_RCVBUF w systemie Windows?
6
A
Odpowiedz
3
SO_RCVBUF w winsock nie jest ograniczony przez rozmiar okna TCP. Przynajmniej dla stosów pre-Vista. Byłaby ograniczona dostępnością puli niestronicowanej, co jest zupełnie innym tematem. Więc możesz zrobić całkiem duży, jeśli chcesz.
Obowiązkowa, niezamawiana rada: Jeśli używasz dużego bufora, ponieważ rzadko go otrzymujesz, sprawdziłbym asynchroniczne operacje we/wy z portami zdarzeń/select/completion.
1
Na podstawie this article wygląda na to, że maksymalna to 64K.
2
Nie pamiętam na pewno, ale wierzę, że system Windows obsługuje funkcję POSIX fpathconf()
z opcją _PC_SOCK_MAXBUF
. Jeśli tak, to właśnie tego szukasz.
Nie jestem pewien, czy to jest poprawne. Ustawiam go na wartości znacznie większe bez błędów. Cytowany artykuł jest raczej stary. – Matt