社区
网络编程
帖子详情
如何得知socket的缓存大小,这个缓存是否有上限,是否会溢出?
neteee_sina
2012-02-17 09:10:11
我有一个客户端的socket接受服务器来的数据,因为这个客户端有大量的占用cpu的任务来执行,以至于有时会堆积接受来的数据而没有处理。
我想知道,这个被缓存起来的socket数据,是
(1) 在系统内存空间还是在用户内存空间?
(2) 缓存大小有限制吗? 如果知道/设置这个限制值
(3) 会不会遇到一个数值以后就溢出,或者操作系统干脆丢掉后续的数据,直到这个socket句柄有缓存可写?
...全文
603
3
打赏
收藏
如何得知socket的缓存大小,这个缓存是否有上限,是否会溢出?
我有一个客户端的socket接受服务器来的数据,因为这个客户端有大量的占用cpu的任务来执行,以至于有时会堆积接受来的数据而没有处理。 我想知道,这个被缓存起来的socket数据,是 (1) 在系统内存空间还是在用户内存空间? (2) 缓存大小有限制吗? 如果知道/设置这个限制值 (3) 会不会遇到一个数值以后就溢出,或者操作系统干脆丢掉后续的数据,直到这个socket句柄有缓存可写?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Eleven
2012-02-17
打赏
举报
回复
1. SOCKET系统缓冲区
2. SOCKET的接收缓冲区,默认好像是8K,可以通过getsockopt()函数SO_RCVBUF得到,
getsockopt(SOCKET, SOL_SOCKET, SO_RCVBUF, ...);
通过setsockopt设置SO_RCVBUF设置。
setsockopt(SOCKET, SOL_SOCKET, SO_RCVBUF, ...);
3. TCP如果系统缓冲区满,如果没有及时recv接收的话,就不能再发送数据了,send就会失败,UDP的话,如果接收端的SOCKET的系统buffer满了,后面到来的包会被丢掉。
fishion
2012-02-17
打赏
举报
回复
setsockopt,指定SO_RCVBUF设置接收缓冲区大小写。如果数据超过了缓冲区能接收的大小,那系统就不会再接收发过来的数据
smwhotjay
2012-02-17
打赏
举报
回复
如何验证UDP传输
是否
已经
溢出
?
本文介绍如何验证Linux系统中UDP传输
是否
因缓冲区
溢出
导致丢包,涵盖内核统计、应用层序列号检测、压测工具iperf、
socket
缓冲区监控及系统级诊断方法。同时讲解查看和调整UDP缓冲区
大小
的方法,并提供预防丢包的最佳实践,适用于高性能网络应用调试。
java tcp内存
溢出
_java栈内存
溢出
咋产生?jvm给每个
socket
连接的receive
缓存
区分37KB内存...
本文探讨了Java中栈内存
溢出
的两种形式:线程栈内存
溢出
和JVM栈内存
溢出
。通过设置-Xss参数控制线程栈
大小
,并分析了线程栈内存与JVM栈内存的区别及
溢出
原因。
Java
Socket
编程实战:从阻塞模型到高并发健壮服务
本文深入剖析Java原生
Socket
编程的核心机制,涵盖阻塞IO模型、连接超时控制、TCP内核队列原理、粘包/半包处理、线程池并发管理、故障注入压测及生产级工程实践。重点讲解如何构建健壮、可调试、可扩展的
Socket
服务端与客户端,规避常见八股文误区,强调超时设置、资源释放、日志上下文、输入校验和JVM调优等关键生产细节。
Linux网络编程-UDP接收数据丢包解决方案
本文探讨了基于UDP的
socket
通信中出现的丢包问题,分析了丢包的原因,包括
缓存
太小和数据处理速度慢,并提供了相应的解决措施。
网络编程
18,356
社区成员
64,161
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章