社区
Linux/Unix社区
帖子详情
Linux socket缓冲区的机制是什么?
似水如风
2012-09-09 10:39:02
请问socket的缓冲区是个什么机制,是每次缓存一个包的数据,还是累计缓存多个数据包的数据呢?假如我要发送1000个数据包,每次隔1s发送一次,缓冲区是不是每次都只是缓存了一个数据包的数据呢?
...全文
441
4
打赏
收藏
Linux socket缓冲区的机制是什么?
请问socket的缓冲区是个什么机制,是每次缓存一个包的数据,还是累计缓存多个数据包的数据呢?假如我要发送1000个数据包,每次隔1s发送一次,缓冲区是不是每次都只是缓存了一个数据包的数据呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Kazeeku
2012-09-10
打赏
举报
回复
1.数据包这个概念只有UDP才有的,TCP是流
2.而你问的“缓冲区是不是每次都只是缓存了一个数据包的数据”:
A。对于UDP是对的,也就是说,UDP你发的数据,在对端他recvfrom就是一个包
B。对于TCP是错的,TCP没有包的概念,TCP要实现包需要自己定义边界(比如在包头定义包的长度)
3.还有就是:
A。UDP,你用recvfrom读到的是一个完整的包,那是因为在系统底层系统帮你把还没有形成一个包的数据缓存起来(比如你发102400字节,不能一次就发过来,对端需要接收很多次),等形成一个包再提交给你(应用层)
B。TCP就是不一样,他会以接受“多少”就给你(应用层)的,那么你收到有可能不是一个完整的包(包是你自己定义的),所以你需要缓存
冷月清晖
2012-09-09
打赏
举报
回复
这要深入Linux TCP/IP协议栈的细节了。
qq120848369
2012-09-09
打赏
举报
回复
字节流, 无论是UDP还是TCP, 实际底层都不可能是一个包飞过来, 而是一个字节一个字节的流过来.
你这种问题, 一方面阅读 TCP/IP协议详解 了解协议是怎么规定和实现的, 一方面有一个款开源实作:UDT 供你学习如何自己实现TCP/IP协议.
羽飞
2012-09-09
打赏
举报
回复
一般的是TCP是一次尽量接收多个字节的数据,知道缓冲区满或者到达延迟时间
UDP数据就是一次一个包
如果理解的有错误,请大侠们指点
深入分析
Linux
内核源码.chm
第一章 走进
linux
1.1 GNU与
Linux
的成长 1.2
Linux
的开发模式和运作
机制
...2.4
Linux
内存管理中Slab
缓冲区
2.5
Linux
中的VFS 2.6
Linux
的连网 2.7 网络设备支持 2.8 模块支持 2.9 硬件接口 2.10 块设备 2.11 USB 设备
Linux
内核源代码情景分析 (上下册 高清非扫描 )
-
缓冲区
用于暂时存储数据,以减轻磁盘I/O的压力。 -
缓冲区
管理的好坏直接影响到系统的整体性能。 - **2.11 外部设备存储空间的地址映射** - 外部设备如硬盘、网络接口等,也需要映射到内存空间中。 - 这种映射...
Linux
的
socket
缓冲区
Linux
的soket
缓冲区
每个
socket
被创建后,都会分配两个
缓冲区
,输入
缓冲区
和输出
缓冲区
。 write()/send() 并不立即向网络中传输数据,而是先将数据写入
缓冲区
中,再由TCP协议将数据从
缓冲区
发送到目标机器。一旦将...
Linux
网络编程——
socket
套接字及
缓冲区
详解
每个
socket
被创建后,都会分配两个
缓冲区
,输入
缓冲区
和输出
缓冲区
。并不立即向网络中传输数据,而是先将数据写入
缓冲区
中,再由TCP协议将数据从
缓冲区
发送到目标机器。一旦将数据写入到
缓冲区
,函数就可以成功...
linux
socket
获取
缓冲区
数据长度_
Linux
网络数据包的揭秘以及常见的调优方式总结...
作为业务 SRE,我们所运维的业务,常常以
Linux
+TCP/UDP daemon 的形式对外提供服务。SRE 需要对服务器数据包的接收和发送路径有全面的了解,以方便在服务异常时能快速定位问题。以 tcp 协议为例,本文将对
Linux
...
Linux/Unix社区
23,217
社区成员
74,540
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章