本帖最后由 蓝蓝的天 于 2016-9-21 16:44 编辑
1.缓冲区选项使用方法:
读取缓冲区大小使用类似下面的代码:
optlen=sizeof(buff_size);
err=getsockopt(s,SOL_SOCKET,SO_SNDBUF,&snd_size,&optlen);
err=getsockopt(s,SOL_SOCKET,SO_RCVBUF,&snd_size,&optlen);设置缓冲区大小使用类似下面的代码:
buff_size=4096;
optlen=sizeof(buff_size);
err=setsockopt(s,SOL_SOCKET,SO_SNDBUF,&buff_size,optlen);
err=setsockopt(s,SOL_SOCKET,SO_RCVBUF,&buff_size,optlen);
在程序设计的时候,经常需要考虑性能,当发送或者接收的数据比较小,而计算负载
又比较重的时候,经常将缓冲区的大小设置为比较小的值,以节省资源。
当处理的数据量比较大,则可以将缓冲区设置的比较大,将接收过程和解码过程进行分离。
2.缓冲区选项使用的例子:
本例中建立一个TCP套接字,先查看系统默认的接收缓冲区和发送缓冲区的大小,然后
修改接收缓冲区和发送缓冲区的大小,最后将修改后的结果打印出来。
编译:
运行:
本帖最后由 蓝蓝的天 于 2016-9-21 16:44 编辑
1.缓冲区选项使用方法:
读取缓冲区大小使用类似下面的代码:
optlen=sizeof(buff_size);
err=getsockopt(s,SOL_SOCKET,SO_SNDBUF,&snd_size,&optlen);
err=getsockopt(s,SOL_SOCKET,SO_RCVBUF,&snd_size,&optlen);设置缓冲区大小使用类似下面的代码:
buff_size=4096;
optlen=sizeof(buff_size);
err=setsockopt(s,SOL_SOCKET,SO_SNDBUF,&buff_size,optlen);
err=setsockopt(s,SOL_SOCKET,SO_RCVBUF,&buff_size,optlen);
在程序设计的时候,经常需要考虑性能,当发送或者接收的数据比较小,而计算负载
又比较重的时候,经常将缓冲区的大小设置为比较小的值,以节省资源。
当处理的数据量比较大,则可以将缓冲区设置的比较大,将接收过程和解码过程进行分离。
2.缓冲区选项使用的例子:
本例中建立一个TCP套接字,先查看系统默认的接收缓冲区和发送缓冲区的大小,然后
修改接收缓冲区和发送缓冲区的大小,最后将修改后的结果打印出来。
编译:
运行: