linux获取套接字缓冲区大小
#include <sys/socket.h>//define socklen_t
//socklen_t also define in unistd.h
#include <iostream>
using namespace std;
int main()
{
int fdSockClient;
int recv_buf_len=0;
socklen_t Len;
Len=sizeof(recv_buf_len);
fdSockClient=socket(AF_INET,SOCK_DGRAM,0);
if(getsockopt(fdSockClient,SOL_SOCKET,SO_RCVBUF,&recv_buf_len,&Len)==-1)
{
cout<<"getsocketopt error"<<endl;
}
else
{
if(Len!=sizeof(int))
{
cout<<"sizeof(socklen) not sizeof(int)"<<endl;
}
else
{
cout<<"default sock_stream recvbuf="<<recv_buf_len<<endl;
}
}
close(fdSockClient);
return 0;
}
/*结果:default SOCK_STREAM recvbuf=87380
*结果:default SOCK_DGRAM recvbuf=111616
*/
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。