[置顶] 欢迎访问github地址,并指出项目中的缺陷和BUG
posted @ 2015-03-16 12:02 as_ 阅读(936) 评论(0) 推荐(0) 编辑
posted @ 2015-03-16 12:02 as_ 阅读(936) 评论(0) 推荐(0) 编辑
一句话总结:
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)); /* 拔去塞子 ,发送数据*/
posted @ 2015-07-23 14:55 as_ 阅读(9937) 评论(0) 推荐(0) 编辑
posted @ 2014-11-17 14:34 as_ 阅读(2291) 评论(0) 推荐(0) 编辑
posted @ 2013-05-11 17:01 as_ 阅读(61548) 评论(0) 推荐(0) 编辑
posted @ 2012-11-12 14:38 as_ 阅读(2548) 评论(0) 推荐(0) 编辑
posted @ 2012-11-04 15:15 as_ 阅读(15003) 评论(0) 推荐(0) 编辑
posted @ 2012-11-03 13:26 as_ 阅读(44939) 评论(2) 推荐(5) 编辑
posted @ 2012-11-02 14:53 as_ 阅读(3756) 评论(0) 推荐(0) 编辑
posted @ 2012-10-11 19:13 as_ 阅读(23785) 评论(0) 推荐(0) 编辑
posted @ 2012-10-11 18:02 as_ 阅读(3766) 评论(0) 推荐(0) 编辑