TCP连接如何获取当前Sender buffer中已经缓存的数据量

victor_cui 2007-03-26 03:34:44
为了避免拥塞,我期望获取sender buffer中已经缓存的数据量,可以有选择的丢弃一些不重要的数据,而不是等到buffer满发送失败以后,如何获取?
...全文
633 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
mymtom 2007-05-10
  • 打赏
  • 举报
回复
调buffer大小没有用的,关键在于你用send把数据送进buffer之后,无法把丢弃!TCP会重试很久,而后续的数据无法send,
TCP的这种特性无法满足媒体数据的这种要求!媒体数据的传送通常有两种方法
1、用UDP,用UDP的话很麻烦,需要自己考虑如何确认,重发还是放弃!
2、用支持QoS的TCP
core 2007-05-08
  • 打赏
  • 举报
回复
buffer大小设为0
mymtom 2007-05-05
  • 打赏
  • 举报
回复
用QoS
http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp?topic=/rzak8/rzak8kickoff.htm
hyg2008 2007-04-29
  • 打赏
  • 举报
回复
你可以把buffer设得小一些,send时如果buffer满的话你通过send的返回值就知道了。
victor_cui 2007-04-29
  • 打赏
  • 举报
回复
不是设置buffer大小,而是想获取目前发送缓存中的数据量,以尽量避免拥塞
zzw_happy 2007-03-30
  • 打赏
  • 举报
回复
socketctl/ioctrl应该可以设置,
linux中在proc中还可以设全局的。
victor_cui 2007-03-29
  • 打赏
  • 举报
回复
是媒体数据,实时性是第一位的,所以需要知道,以减少delay
darkone 2007-03-28
  • 打赏
  • 举报
回复
还是加大系统BUFF吧,如一定要处理反而降低SOCKET的效率

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧