首先说明一下在JBOSS中采用TCP和UDP的优缺点。
UDP,User Datagram Protocol,用户数据包协议,是OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。UDP有不提供数据报分组、组装和不能对数据包排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的,所以说它是一种非可靠的传输协议,UDP设计初衷就是尽可能快的将数据包发送出去.所以UDP协议显得非常精简。
在选择使用协议的时候,选择UDP必须要谨慎。在网络质量令人不十分满意的环境下,UDP协议数据包丢失会比较严重。但是由于UDP的特性:它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。比如我们聊天用的ICQ和OICQ就是使用的UDP协议。
而TCP采用可靠链路传输,提供一个实时的双向的传输通道,TCP/IP协议更能满足目前各行业对远程数据传输的要求,它提供更稳定更便利的传输通道,很好的满足了远程数据传输的要求。TCP比UDP更能保证数据的完整性、可靠性,存在更小的丢包率。
总结下TCP与UDP的区别:
1、基于连接与无连接(TCP基于连接,UDP无连接);
2、对系统资源的要求(TCP较多,UDP少);
3、UDP程序结构较简单;
4、流模式与数据报模式(TCP流模式,UDP数据包模式);
5、TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证;
6、对于较少节点的集群,UDP的性能比TCP稍差。
在实际使用过程中,发现使用UDP存在da