2009-02-19 86 views

Trả lời

3

SO_RCVBUF trong winsock không bị giới hạn bởi kích thước cửa sổ TCP. Ít nhất là cho các ngăn xếp trước Vista. Nó sẽ bị giới hạn bởi sự sẵn có của nhóm không được phân trang, đó là một chủ đề hoàn toàn khác. Vì vậy, bạn có thể làm cho nó khá lớn, nếu bạn muốn.

Lời khuyên không mong muốn bắt buộc: Nếu bạn đang sử dụng bộ đệm lớn vì bạn thỉnh thoảng nhận được, tôi sẽ xem xét I/O không đồng bộ với các cổng sự kiện/chọn/hoàn thành.

1

Dựa trên this article, có vẻ như tối đa là 64K.

+0

Tôi không chắc điều này là chính xác. Tôi đang đặt giá trị đó thành các giá trị lớn hơn đáng kể mà không có lỗi. Bài viết bạn trích dẫn khá cũ. – Matt

2

Tôi không thể nhớ chắc chắn, nhưng tôi tin rằng Windows hỗ trợ chức năng POSIX fpathconf() với tùy chọn _PC_SOCK_MAXBUF. Nếu vậy, đây chính xác là những gì bạn đang tìm kiếm.

Các vấn đề liên quan