Java的低层次网络编程是基于传输层提供的TCP(可靠)和UDP(不可靠)两种数据传输机制
两者的不同:
-
通过TCP协议通信得到的数据流顺序无差错;通过UDP协议通信,数据能否送达,送达的时间以及内容的准确性都无法保证
-
TCP需要先通过连续三次交换消息建立连接,在建立的连接上相互传送数据
UDP无需连接,每个数据报作为作为独立信息可以直接以任何可能的路径传往目的地
-
TCP可以通过建立起来的连接传输大量的数据;UDP每个被传输的数据报大小限制在64KB以内
综上所述:
TCP必须先建立连接才能传送数据,建立连接可以保证数据传输安全可靠,传输量大,但是需要占用计算机的处理时间和网络资源; UDP无需连接直接传输数据,操作简单,传输效率高,但是不能严格的保证传输可靠(但是可以保证应用通信的可靠)。
二者各有优缺,应根据传输内容具体选择传输协议。