读书人

为啥经常看到socket的recv函数一个一个

发布时间: 2013-04-21 21:18:07 作者: rapoo

为什么经常看到socket的recv函数一个一个字节的接收数据
一起收不行吗? 我经常看到这种代码
char recvBuffer[1024];
char ch;
int i=0;
while(1)
{
int nLen = recv(sock,&ch,1,0);
if(nLen <= 0){
closesocket(sock);
break;
}
recvBuffer[i++] = ch;
}

为什么不直接写成
recv(sock,recvBuffer,1024,0);
closesocket(sock);
我直接指定收1024个字节, 即使是对方只发送一两个字节,它也会智能的断掉连接的啊?
[解决办法]
缓冲区的大小要合适,太小太大都不好,一个字节一个字节的真没见过

读书人网 >C++

热点推荐