char szBuf[10];
int nRec;
nRec = recv(socket, szBuf, 10, 0);
以上的socket是阻塞套接字,如果此时socket的缓冲区内没有数据的话,那么recv会一直阻塞下去,但如果socket中只有5个字节的数据,那么recv是立即返回并返回值为5,还是会一直阻塞下去直到socket的缓冲区中的数据超过10个字节才返回??