TcpWindowSize vs Socket Buffer Size on Windows
network-programming, tcp
Solution
The TcpWindowSize Registry setting controls the maximum advertised window of the interface as described in the MSDN link. Being a Registry setting, you change it in the Registry.
SO_RCVBUF controls the size of the socket receive buffer. This is the maximum advertised TCP window of the connection, and it is evidently subject to overriding by (1).
SO_SNDBUF controls the size of the socket send buffer. It doesn't have anything directly to do with windowing.
Problem
What is difference between TcpWindowSize and Socket Buffer Sizes ? I assume TcpWindowSize can be changed only using Registry Settings and Socket Buffer Sizes can be changed using SO_SNDBUF and SO_RCVBUF socket parameters?