Socket recv一次接受不完整
我用Socket recv的接受数据。如果数据小的时候比如只要20几个byte。那么一次可以接收完,如果byte很多。比如有200多个byte。一次recv就接收不完整。第二次还是会进入recv.我看recv的返回值只有95.怎么才能一次接收完全部的。我网上查了下设置了接收缓冲区。没有用。也可能是设置的不对。
在recv上面添加
int rcvbuf_len;
int len = sizeof(rcvbuf_len);
if( getsockopt( fd, SOL_SOCKET, SO_RCVBUF, (void *)&rcvbuf_len, &len ) < 0 ){
}