socket TCP协议接收大文件时recv的buffer设置多少合适
以下内容是CSDN社区关于socket TCP协议接收大文件时recv的buffer设置多少合适相关内容,如果想了解更多关于C++ 语言社区
引用 10 楼 zhao4zhong1 的回复:[quote引用 8 楼 cjy0000 的回复:][quote引用 7 楼 jiqiang01234 的回复:][quote引用 3 楼 cjy0000 的回复:][quote引用 2 楼 jiqiang01234 的回复:]一般64k足矣,tcp有流量控制不会出现缓冲区溢出的问题设置太大的话会对接收速率有阻碍吗[/quote]你的接收缓冲区具体指的是哪种tcp协议栈中的接收缓冲区还是recv()中用到的缓冲区tcp协议栈中的接收缓冲区需要用setsockopt()的SO_RCVBUF来设置,接收满64k差不多1ms对于现代的cpu来说根本不是事,系统默认的缓冲区大小一般来说就够用了,也就是说根本到不了64k的时候就可以把缓冲区中的数据取走[/quote]恩我指的就是recv()用到的接收缓冲区[/quote] 我用16384[/quote]为什么用这个能说一下原因吗比这个更大会有什么不好的后果比如32k ,。
设置太大没什么用网卡速度也是有限的就算1000Mbps的网卡除去以太网帧、ip帧头、tcp帧头等实际的传输率也就是70、80MB/s。
相关文章
广告位
评论列表