好 这tcp什么的确实比较复杂
知道多少写多少
nagle算法是什么:它的目标是防止大量小数据包的出现而影响网络效率
实际实现上有两种:1网络上的空闲段限制 2发送数据包的限制
如何做的:如果网络上有超过上面两种的限制 那么将会累积后面的数据包直至网络空闲时发送
看几个例子
平常 nagle算法平时并不怎么影响tcp
比如:A发送N个数据到B B接受N个数据 并发送ack给A A继续下一次发送 假如A处理比较慢 这时B会累积后面的数据包直至收到ack后一次性发送
但是:假如A想要发送N+K个数据到B 首先发送N个数据 B接受N+K个数据 这时 A因为nagle算法不会继续发送直到收到ACK
但B因为还在等待后K个数据而不会发送ACK 这时通信效率比较低下
因此 具体实现看应用程序吧
思想就是如此 介绍一个比较好的游戏网络库:
里面有nagle算法的应用 还有设置缓冲区为0的操作
http://code.google.com/p/yynetsdk/
posted on 2011-12-22 21:46 野猪红 阅读(609) 评论(0)  编辑 收藏 引用 所属分类: 网络

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理