The answer is: yes. It is about 5-15 kb. I don't know what the default value is. I tested 16371 bytes. Win7 x64.
You can use setsockopt to set the recvbuf or sndbuf size. However, we recommend that you set the number of bytes received each time to a certain range, such as 5 kb. Because even if it is set, it is still possible to accept a small number of bytes.
The more important thing about socket usage is how to process data. InvolvedAlgorithm.
For example, if you want to accept a large buffer, you can set enough buffer, and then accept it. If you accept less buffer, you can continue to accept it, but accept it at the buffer + bufferoffset position, bufferoffset increases by the number of accepted bytes. Until the total number of accepted items is sufficient.
In addition, a socket Send package may be appended to the previous socket Send package. In this way, the User-Defined header information in your send data is not the first byte and must be processed.
The safer method is to accept the buffer to process one byte... It may be inefficient ..
Refer:
Setsockopt sets the socket status
Http://baike.baidu.com/view/569217.htm