winsocket实现http下载文件的奇怪问题(最后一次必然recv超时)
同样的代码,下载两个server上两上不同的文件。
在while循环里不断recv。
一个小一些的文件,顺利下载完成。
另外一个大一些的,每次都在最后一次recv的时候超时……报错为10060.
请问可能是什么原因?我用浏览器下载后者文件是没问题的。
// 代码如下:
// pBuffer大小和nBufferSize是匹配的。
int nBufferSize = std::min<int>(BLOCK_SIZE, task.m_nTotalBytes - task.m_nReadBytes) + 1;
nLen = recv(hSocket, (char *)(pBuffer), nBufferSize, 0);