getsockopt( )函数详解



   

int getsockopt(int socket, int level, int option_name,
            void *restrict option_value, socklen_t *restrict option_len);
 功能:获取一个套接字的选项
 参数:
     socket:文件描述符
     level:协议层次
            SOL_SOCKET 套接字层次
            IPPROTO_IP ip层次
            IPPROTO_TCP TCP层次
    option_name:选项的名称(套接字层次)
            SO_BROADCAST 是否允许发送广播信息
            SO_REUSEADDR 是否允许重复使用本地地址
           SO_SNDBUF 获取发送缓冲区长度
           SO_RCVBUF 获取接收缓冲区长度    

           SO_RCVTIMEO 获取接收超时时间
           SO_SNDTIMEO 获取发送超时时间
    option_value:获取到的选项的值
    option_len:value的长度
 返回值:
    成功:0
    失败:-1


int opt_val;
socklen_t opt_len = sizeof(opt_val);

if(getsockopt(sockfd, SOL_SOCKET, SO_SNDBUF, &opt_val, &opt_len) < 0)
{
	perror("fail to getsockopt");
}

printf("send_buf = %dk\n", opt_val / 1024);

最后打印获取发送缓存区的大小;


你可能感兴趣的:(网络编程)