TCP_NODELAY 和 TCP_CORK主要区别
2024-10-18 22:33:26
一句话总结:
tcp_nodelay:禁止nagle算法,有需要发送的就立即发送,比较常见
tcp_cork:它是一种加强的nagle算法,过程和nagle算法类似,都是累计数据然后发送。但它没有 nagle中1的限制,所以,在设置cork后,即使所有ack都已经收到,但我还是不想发送数据,我还想继续等待应用层更多的数据,所以它的效果比nagle更好。效率上与Nagle算法相比,Nagle算法主要避免网络因为太多的小包(协议头的比例非常之大)而拥塞,而CORK算法则是为了提高网络的利用率,使得总体上协议头占用的比例尽可能的小
tcp_cork使用方法
int on = 1;
setsockopt (fd, SOL_TCP, TCP_CORK, &on, sizeof (on)); /* 设置cork */
write (fd, …);
...
sendfile (fd, …);
…
on = 0;
setsockopt (fd, SOL_TCP, TCP_CORK, &on, sizeof (on)); /* 拔去塞子 ,发送数据*/
最新文章
- ArcGIS JS 学习笔记2 实现仿百度的拖拽画圆
- Gradle基础
- NodeJS学习笔记 - Express4.x路由操作
- {POJ}{树状数组}
- Extjs学习笔记--Ext.tree.Panel
- 【随笔】vmstat性能监测
- WPF + Caliburn.Micro +ActionMessage事件绑定
- datawindow.net数据窗口卡片设置滚动条位置
- 【WEB-INF】WEB-INF是Java的WEB应用的安全目录
- OPEN-E安装中注意的问题
- Java动态代理深入解析
- TCP/IP协议精华笔记
- ifame高度自动适应子页面内容
- CSS3四个自适应关键字——fill-available、max-content、min-content、fit-content
- POI Sax 事件驱动解析Excel2007文件
- [题解] Codeforces Round #549 (Div. 2) B. Nirvana
- 一种特殊的 jpg 图片: MagickProfileImage() sRGB.icc
- 基于python的快速傅里叶变换FFT(二)
- linux-提示用户不在 sudoers文件中,此事将被报告。
- Minimum Window Substring LT76