2009-02-19 8 views

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.

+0

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

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.