首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

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

2012-02-20 
TCP连接如何获取当前Sender buffer中已经缓存的数据量为了避免拥塞,我期望获取senderbuffer中已经缓存的数

TCP连接如何获取当前Sender buffer中已经缓存的数据量
为了避免拥塞,我期望获取sender   buffer中已经缓存的数据量,可以有选择的丢弃一些不重要的数据,而不是等到buffer满发送失败以后,如何获取?

[解决办法]
socketctl/ioctrl应该可以设置,
linux中在proc中还可以设全局的。
[解决办法]
你可以把buffer设得小一些,send时如果buffer满的话你通过send的返回值就知道了。
[解决办法]
用QoS
http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp?topic=/rzak8/rzak8kickoff.htm

[解决办法]
调buffer大小没有用的,关键在于你用send把数据送进buffer之后,无法把丢弃!TCP会重试很久,而后续的数据无法send,
TCP的这种特性无法满足媒体数据的这种要求!媒体数据的传送通常有两种方法
1、用UDP,用UDP的话很麻烦,需要自己考虑如何确认,重发还是放弃!
2、用支持QoS的TCP

热点排行