经过多次验证分析,
Windows默认socket收发缓冲区大小式 – 8K
所以,若收发的数据包大于8K,建议调整socket收发缓冲区大小
方法如下:
int ret = 1024 * 1000 // 设置为1000K,即1MB大小的缓冲区
if (0 != setsockopt(m_sock, SOL_SOCKET, SO_RCVBUF, (const char*)&ret, sizeof(int))) {
printf("setsockopt buf size failed: %u\n", WSAGetLastError());
return -1;
}