public boolean getTcpNoDelay() throws SocketException
public void setTcpNoDelay(boolean on) throws SocketException
在默认情况下,客户端向服务器发送数据时,会根据数据包的大小决定是否立即发送。当数据包中的数据很少时,如只有1个字节,而数据包的头却有几十个字节(IP头+TCP头)时,系统会在发送之前先将较小的包合并到软大的包后,一起将数据发送出去。在发送下一个数据包时,系统会等待服务器对前一个数据包的响应,当收到服务器的响应后,再发送下一个数据包,这就是所谓的Nagle算法;在默认情况下,Nagle算法是开启的。
这种算法虽然可以有效地改善网络传输的效率,但对于网络速度比较慢,而且对实现性的要求比较高的情况下(如游戏、Telnet等),使用这种方式传输数据会使得客户端有明显的停顿现象。因此,最好的解决方案就是需要Nagle算法时就使用它,不需要时就关闭它。而使用setTcpToDelay正好可以满足这个需求。当使用setTcpNoDelay(true)将Nagle算法关闭后,客户端每发送一次数据,无论数据包的大小都会将这些数据发送出去。
分享到:
相关推荐
mina实现UDP协议的代码,学习Mina的可以研究一下,对学习有好处的
Apache mina网络应用开发框架的demo。Apache mina是Java的非常优秀的网络应用开发框架。
Apache_Mina_Server_ 深入教程V1.0Apache_Mina_Server_ 深入教程V1.0Apache_Mina_Server_ 深入教程V1.0Apache_Mina_Server_ 深入教程V1.0Apache_Mina_Server_ 深入教程V1.0
Socket框架,对TCP/IP协议能更好的封装并简单使用
mina框架实现tcp长连接服务端所需要的jar包
一个mina跟Spring、Hibernate整合的说明文档,挺好的,有需要的可以看看
Apache Mina中文参考手册 Apache MINA是一个网络应用程序框架,用来帮助用户简单地开发高性能和高可靠性的网络应用程序
Apache_Mina_Server_2.0中文参考手册,Apache_Mina_Server_2.0中文参考手册,Apache_Mina_Server_2.0中文参考手册
收集几个mina的通讯例子,实现TCP、UDP通讯
有关mina TCP Server 及协议报文结构解码器
Apache_Mina_Server_2.0中文参考手册
mina框架实现tcp客户端长连接所需要的jar包
MINA—TCP案例
Java NIO开发技术的 TCP/UDP通信协议Mina框架的实例开发,一个简单的小栗子!
Apache_Mina_Server_2.0中文参考手册V1.0 中文Mina实用帮助手册
Apache_MINA_2_用户指南.pdf
Apache_Mina_Server_ 深入教程V1.0.pdf
Apache_Mina_Server_2.0中文参考手册V1.0.pdf
mina_social_business_api-master