理论教育 TCP协议与UDP协议详解|Java程序设计实用教程

TCP协议与UDP协议详解|Java程序设计实用教程

时间:2023-11-21 理论教育 版权反馈
【摘要】:TCP协议和UDP协议是网络通信时使用的两种主要协议。使用TCP协议时,由于它是一个面向连接的协议,在Socket之间进行数据传输之前必然要建立连接。

TCP协议与UDP协议详解|Java程序设计实用教程

TCP协议和UDP协议是网络通信时使用的两种主要协议。

1.TCP协议

TCP(Transfer Control Protocol)协议是一种面向连接的、可以提供可靠传输的协议。使用TCP协议传输数据,接收端得到的数据流(包括顺序)和发送端发出的完全一样。发送方和接收方之间的两个端口必须建立连接,以便在TCP的基础上进行通信。在程序中,端口之间建立连接一般使用的是Socket(套接字)方法。当服务器的Socket等待服务请求(即等待建立连接)时,客户机的Socket可以要求建立连接。一旦这两个Socket连接起来,它们就可以进行双向数据传输,即双方都可以发送或接收数据。这种通信方式和电信局的电话系统很相似,两者的操作步骤是:首先建立一个连接,然后开始传输数据,传输的数据顺序和接收的数据顺序是完全一样的,最后,断开连接。TCP协议为实现可靠的数据传输提供了一个点对点的通道。

2.UDP协议

UDP(User Datagram Protocol)是一种无连接的协议,它传输的是一种独立的数据报(Datagram)。每个数据报都是一个完整的信息,包括完整的源地址和目的地址。数据报在网络上以任何可能的路径传往目的地,因此,数据报能否到达目的地、到达目的地的时间、数据的正确性和各个数据报到达的顺序都是不能完全保证的。这种通信方式和邮局的信件传送方式很相似。发信人只要将若干信件放入信箱就可以了,至于信件传递的路径、时间、到达的顺序、是否一定能到达等,邮局会尽可能做好,但不能完全保证。(www.daowen.com)

3.两种协议的比较

(1)使用UDP协议时,每个数据报都给出了完整的地址信息,因此无需建立发送方和接收方的连接。使用TCP协议时,由于它是一个面向连接的协议,在Socket之间进行数据传输之前必然要建立连接。

(2)使用UDP协议传输数据时是有大小限制的,每个被传输的数据报必须限定在64KB以内。而TCP协议没有这方面的限制,一旦连接建立起来,双方的Socket就可以按统一的个数传输大量的数据。

(3)UDP协议是一个不可靠的协议,发送方所发送的数据报不一定以正确的次序到达接收方,有可能会丢失;而TCP是一个可靠的协议,它确保接收方完全正确地获取发送方所发送的全部数据。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈