views:

1550

answers:

3

Quick question, wondering if anyone knew what the limit is for SO_RCVBUF under Windows.

A: 

Based on this article, it looks like the maximum is 64K.

Kristo
I am not sure this is correct. I'm setting it to values significantly larger without error. The article you quote is rather old.
Matt H
+1  A: 

I can't recall for sure, but I believe Windows supports the POSIX function fpathconf() with the _PC_SOCK_MAXBUF option. If so, this is exactly what you're looking for.

dwc
+2  A: 

SO_RCVBUF in winsock is not limited by the TCP window size. At least for pre-Vista stacks. It would be limited by non-paged pool availability, which is a whole different topic. So you can make it quite big, if you want to.

Obligatory unsolicited advice: If you are using a large buffer because you are receiving infrequently, I would look into asynchronous I/O with events/select/completion ports.

a_mole