设置和获取缓冲区大小

  • 缓冲区
  • 蓝蓝的天
  • LV5工程师
  • |      2016-09-21 16:40:12
  • 浏览量 541
  • 回复:0
本帖最后由 蓝蓝的天 于 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套接字,先查看系统默认的接收缓冲区和发送缓冲区的大小,然后 修改接收缓冲区和发送缓冲区的大小,最后将修改后的结果打印出来。 编译: 运行:
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:0
x
收藏成功!点击 我的收藏 查看收藏的全部帖子