免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8125 | 回复: 6
打印 上一主题 下一主题

linux下怎么获取tcp发送缓冲区还有多少空闲? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-03-11 21:02 |只看该作者 |倒序浏览
RT

论坛徽章:
0
2 [报告]
发表于 2010-03-11 21:25 |只看该作者
好问题,不晓得。请问你怎么有这个需求呢?

论坛徽章:
0
3 [报告]
发表于 2010-03-11 21:50 |只看该作者

论坛徽章:
0
4 [报告]
发表于 2010-03-12 09:32 |只看该作者
本帖最后由 marco_hxj 于 2010-03-12 09:35 编辑
好问题,不晓得。请问你怎么有这个需求呢?
rain_fish 发表于 2010-03-11 21:25



    做视频传输,想通过这个来控制发送速度
但是测试结果有点让人失望,send的返回值永远是想要发送的值,也没有返回-1的情况,但是接收端接受到的数据很慢。(无线环境)

引申出了一个问题,阻塞TCP和非阻塞TCP的send函数实现原理是什么?

论坛徽章:
0
5 [报告]
发表于 2010-03-12 09:37 |只看该作者
send的返回值永远是想要发送的值,这个“永远”你测试的是多长时间?还有send是阻塞的还是非阻塞的?

论坛徽章:
0
6 [报告]
发表于 2010-03-12 09:42 |只看该作者
本帖最后由 marco_hxj 于 2010-03-12 09:46 编辑
send的返回值永远是想要发送的值,这个“永远”你测试的是多长时间?还有send是阻塞的还是非阻塞的?
rain_fish 发表于 2010-03-12 09:37



   哦,那倒没测很久。我用的非阻塞。

非阻塞是用这个设置的吗?
ret=fcntl(myfd,F_GETFL,0);
fcntl(myfd,F_SETFL,ret&~O_NONBLOCK);
我感觉效果一样

论坛徽章:
0
7 [报告]
发表于 2010-03-12 09:55 |只看该作者
发送的速度很快?按照正常情况,如果接收很慢的话,发送应该很快把缓冲区占满,然后send返回-1啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP