社区
通信技术
帖子详情
各种不同的windows系统TCP,UDP的发送接收的缓冲区的最高限度为多少
naile
2001-11-15 10:03:47
我知道win98下UDP的接受缓冲区的限制为64K,但不知在win95,win NT,win2000下TCP与UDP的缓冲区限制为多少,本人有急用,望各位大虾能相告,万分感谢!!如知道Unix系统限制的,也告诉我一下。
...全文
1137
5
打赏
收藏
各种不同的windows系统TCP,UDP的发送接收的缓冲区的最高限度为多少
我知道win98下UDP的接受缓冲区的限制为64K,但不知在win95,win NT,win2000下TCP与UDP的缓冲区限制为多少,本人有急用,望各位大虾能相告,万分感谢!!如知道Unix系统限制的,也告诉我一下。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lurenfu
2001-11-15
打赏
举报
回复
/proc/sys/net/core/目录下也有:rmem_max, wmem_max, rmem_default, wmem_default几项,你改这些值试试看,这可能是调整驱动层缓冲区的,/proc/sys/net/ipv4中应该可以调整你的tcp_socket的缓冲区(UDP不缓冲)
lurenfu
2001-11-15
打赏
举报
回复
在linux中,你还可以通过/proc文件系统动态调整内核参数
在/proc/sys/net/ipv4中有tcp_mem, tcp_rmem, tcp_wmem几项,你也可以直接修改这几项从而达到修改缓冲区大小的目的,这样不用重编内核,也不用重启动系统,方便快捷,大家 快来用linux吧
lurenfu
2001-11-15
打赏
举报
回复
linux系统:在linux/net/core/sock.c中有如下片断
__u32 sysctl_wmem_max = SK_WMEM_MAX;//这些常量在skbuff.h中定义,值为65535
__u32 sysctl_rmem_max = SK_RMEM_MAX;
__u32 sysctl_wmem_default = SK_WMEM_MAX;
__u32 sysctl_rmem_default = SK_RMEM_MAX;
void __init sk_init(void)
{
sk_cachep = kmem_cache_create("sock", sizeof(struct sock), 0,
SLAB_HWCACHE_ALIGN, 0, 0);
if (!sk_cachep)
printk(KERN_CRIT "sk_init: Cannot create sock SLAB cache!");
if (num_physpages <= 4096) { //物理页面,每页4K,内存<=16M
sysctl_wmem_max = 32767;
sysctl_rmem_max = 32767;
sysctl_wmem_default = 32767;
sysctl_wmem_default = 32767;//这一行可能是内核中的小BUG,应该是sysctl_rmem_default=32767,不过无关紧要,因为前面已经赋值了
} else if (num_physpages >= 131072) {//内存>=64M
sysctl_wmem_max = 131071;
sysctl_rmem_max = 131071;
}
}
看来,缓冲区的大小跟你内存大小有关系,我想,是不是可以修改这儿给的值来调整缓冲区大小?我没有试过
修改后重新编译内核,你试试,然后告诉我结果,OK?
caiyi9000
2001-11-15
打赏
举报
回复
win95, winNT4需要安装pack5以上补丁,才支持winsock2;
win2000我就不知道了。
caiyi9000
2001-11-15
打赏
举报
回复
这和操作系统无关,是和winsock的版本有关。winsock1最大支持8K,winsock最大支持64K。win98支持winsock2,因此直接用setsockopt()设置发送接收缓冲区选项即可;
win95, winNT4需要安装pack5以上补丁,才支持winsock;
【转】
Windows
SOCKET 缓存/
缓冲区
相关了解
Windows
NT和
Windows
2000的套接字架构
Windows
NT和
Windows
2000的套接字架构 对于开发大响应规模的Winsock应用程序而言,对
Windows
NT和
Windows
2000的套接字架构有基本的了解是很有帮助的。 与其他操作
系统
不同
的是,WinNT和Win2000的传输协议层并不直接给应用程序提供socket风格的接口,不接受应用程序的直接访问。而是实现了更多的通用API,称为传输驱
Windows
SOCKET 缓存/
缓冲区
相关了解
Windows
NT和
Windows
2000的套接字架构 对于开发大响应规模的Winsock应用程序而言,对
Windows
NT和
Windows
2000的套接字架构有基本的了解是很有帮助的。 与其他操作
系统
不同
的是,WinNT和Win2000的传输协议层并不直接给应用程序提供socket风格的接口,不接受应用程序的直接访问。而是实现了更多的通用API,称为传输驱动接口(Transport ...
Windows
SOCKET 缓存/
缓冲区
相关了解 (socket好文)
Windows
NT和
Windows
2000的套接字架构 对于开发大响应规模的Winsock应用程序而言,对
Windows
NT和
Windows
2000的套接字架构有基本的了解是很有帮助的。 与其他操作
系统
不同
的是,WinNT和Win2000的传输协议层并不直接给应用程序提供socket风格的接口,不接受应用程序的直接访问。而是实现了更多的通用API,称为传输驱动接口(Transport
Select模型
Socket描述符准备好的条件 select函数的功能就是允许进程指示内核等待多个事件中的任一个发生,并仅在一个或多个事件发生或经过某个指定的时间之后才唤醒进程; 我们可以调用函数select并通知内核仅在以下情况发生时才返回: A:集合{1,4,5}中的任何描述符准备好读;或 B:集合{2,7}中的任何描述符准备好写;或 C:集合{1,4}中的任何描述符有异常条
现代操作
系统
内核本地回环通信优化:协议栈短路机制的深度解析与性能对比
现代操作
系统
通过协议栈短路机制优化本地回环通信性能。Linux采用透明的零拷贝回环栈,自动检测本地通信并绕过网络硬件处理层;
Windows
需应用程序主动启用SIO_LOOPBACK_FAST_PATH,但与安全框架存在兼容性冲突;macOS基于BSD的实现存在特定缺陷风险。相比
TCP
回环优化,Unix域套接字(UDS)在小数据包延迟上优势显著,但在大流量吞吐量测试中性能反转,
TCP
优化路径表现更优。
不同
操作
系统
在性能优化与兼容性之间采取了
不同
设计权衡,开发者需根据应用场景选择最佳IPC方案。
通信技术
4,394
社区成员
28,906
社区内容
发帖
与我相关
我的任务
通信技术
通信技术相关讨论
复制链接
扫一扫
分享
社区描述
通信技术相关讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章