社区
Linux/Unix社区
帖子详情
tcp socket每次将发送缓冲区中的数据全部发出去?
fengwanzk
2015-12-14 11:36:48
redhat6.0,用哪个函数,如何设置,可以使得send函数每次都把缓冲区中的数据全部发出去?
谢谢。
...全文
744
9
打赏
收藏
tcp socket每次将发送缓冲区中的数据全部发出去?
redhat6.0,用哪个函数,如何设置,可以使得send函数每次都把缓冲区中的数据全部发出去? 谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
niushitana
2015-12-24
打赏
举报
回复
学习了,收藏一下。
niushitana
2015-12-24
打赏
举报
回复
学习了,收藏一下。
niushitana
2015-12-24
打赏
举报
回复
学习了,TCP的传送机制好像讲开发的书都讲得不多。
jiqiang01234
2015-12-23
打赏
举报
回复
引用 5 楼 fengwanfengwan 的回复:
找到一个答案:setsockopt,使用TCP_NODELAY选项,使得只要缓冲区有数据,就立刻发送。
这是在双方网络通畅情况下才有效的
fengwanzk
2015-12-23
打赏
举报
回复
找到一个答案:setsockopt,使用TCP_NODELAY选项,使得只要缓冲区有数据,就立刻发送。
nswcfd
2015-12-21
打赏
举报
回复
同2楼,发送的速度还要看对端的接收速度。
常书
2015-12-17
打赏
举报
回复
楼主是不希望TCP分段发数据吗? 每次TCP发送的值跟服务器和客户端建立连接时,双方协商的最小MSS即TCP能发送的最大segment大小,可通过设置TCP_MAXSEG选项更改,服务端和客户端都要设置,然后双方send 的BUFF都小于设置的值,就不会被分段而会都全部发出去
jiqiang01234
2015-12-16
打赏
举报
回复
不可能。这是由tcp协议栈来控制的。tcp有窗口滑动机制,必须得保证对端的接收速度跟得上发送的速度,如果跟不上,发送端就会暂时阻止发送。
runsunlg
2015-12-15
打赏
举报
回复
试试禁用nagle算法,采用TCP_NODELAY选项?
socket
之send与
发送缓冲区
大小的关系
当使用send函数发送的
数据
长度超过
socket
发送缓冲区
大小时,系统会自动分次发送。在Windows和Linux上,无论是阻塞还是非阻塞模式,send都会将大
数据
分帧进行传输。例如,发送3K
数据
到缓冲区大小为2K的
socket
,在不同系统
中
表现为分三次发送,
每次
发送的字节数接近缓冲区大小。
TCP
滑动窗口/
TCP
接收和
发送缓冲区
/内核sock接收和
发送缓冲区
本文深入解析了
socket
在内核
中
的缓冲区机制,包括接收和
发送缓冲区
的结构、默认及最大值配置,以及如何通过API进行设置。特别针对
TCP
/IP
socket
,介绍了其缓冲区大小的控制方式,并解释了
socket
缓冲区与
TCP
缓冲区之间的关系。
Socket
发送缓冲区
接收缓冲区快问快答
本文详细解析了
TCP
Socket
发送和接收
数据
的过程,涉及
数据
如何从应用层到网络层的传输,以及接收时如何从操作系统缓冲区到应用层。讨论了接收缓冲区和
发送缓冲区
的默认大小、动态调整及设置方法,并指出在实际开发
中
不推荐手动设置缓冲区大小,因为Linux系统有自动调整功能。同时,阐述了发送窗口和接收窗口与缓冲区的关系,强调了窗口大小在流量控制
中
的作用。
TCP
接收/发送滑动窗口与内核接收/
发送缓冲区
之间的关系
本文详细阐述了
TCP
连接
中
接收/发送滑动窗口与内核接收/
发送缓冲区
的区别和联系。当网卡接收
数据
速度大于内核处理速度时,
数据
会被放入内核缓冲区,然后移动到
TCP
连接的接收缓冲区,即滑动窗口内。如果应用程序不读取,滑动窗口会减小。同时,讨论了
TCP
发送缓冲区
的工作原理和在不同场景下的表现,强调了设置正确缓冲区大小的重要性,并给出了实例分析。
深入理解
socket
中
的recv函数和send函数
本文深入解析
TCP
Socket
中
recv和send函数的工作原理,包括函数参数、返回值、内部处理流程,以及如何处理
数据
缓冲区
中
的
数据
。同时,介绍了如何在编程
中
避免粘包问题,通过在
数据
包尾部添加特定字符,确保
数据
的正确读取。
Linux/Unix社区
23,223
社区成员
74,536
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章