UDP与TCP
2016-09-10 00:07
183 查看
在TCP/IP协议中,udp和tcp是其传输层中的两个重要的协议,其中udp是 user datagram protocal 用户数据协议,Tcp是Transmission control protocal称为传输控制协议。两者在使用时有一些区别。
UDP是无连接通信协议,即在数据传输时,数据的发送端和接收端不建立逻辑连接。
简单的说,当一个计算机给另一个计算机发送数据的时候,发送端不会考虑接受端是否存在,同样当接收端接受数据的时候,不会考虑发送端是否存在。
因此使用UDP传输时,耗费的系统资源比较少,通信效率比较高,所以一般用于做音频、视频及普通数据传输。比如视频会议等。因为这种情况下即使偶尔丢失一两个数据包,对接受结果影响也不大。但是正因为此,UDP传输不能保证数据的完整性,因此传输重要数据的时候不要使用UDP传输。
TCP协议是面向连接的通信协议,即在传输数据的饿时候先在发送端和接收端间建立逻辑连接,然后再传输数据,他提供两台计算机之间的可靠误差做的数据传输。
在TCP协议中必须明确客户端和服务端,客户端向服务端发送请求,每次连接时的创建都需要经过“三次握手”:
第一次握手:客户端向服务端发送连接请求,等待服务器确认;
第二次握手:服务端给客户端回送一个响应,告知客户端我已经接受到 请求信息;
第三次握手:客户端再次向服务端发送确认信息,确认连接。
由于TCP协议的面向连接的特性,他可以保障传输数据的安全性,所以是一个被广泛使用的协议,例如在下载文件的时候,如果数据接收不完整,那么将会导致文件丢失而不能使用,因此,下载文件必须使用TCP协议。
UDP是无连接通信协议,即在数据传输时,数据的发送端和接收端不建立逻辑连接。
简单的说,当一个计算机给另一个计算机发送数据的时候,发送端不会考虑接受端是否存在,同样当接收端接受数据的时候,不会考虑发送端是否存在。
因此使用UDP传输时,耗费的系统资源比较少,通信效率比较高,所以一般用于做音频、视频及普通数据传输。比如视频会议等。因为这种情况下即使偶尔丢失一两个数据包,对接受结果影响也不大。但是正因为此,UDP传输不能保证数据的完整性,因此传输重要数据的时候不要使用UDP传输。
TCP协议是面向连接的通信协议,即在传输数据的饿时候先在发送端和接收端间建立逻辑连接,然后再传输数据,他提供两台计算机之间的可靠误差做的数据传输。
在TCP协议中必须明确客户端和服务端,客户端向服务端发送请求,每次连接时的创建都需要经过“三次握手”:
第一次握手:客户端向服务端发送连接请求,等待服务器确认;
第二次握手:服务端给客户端回送一个响应,告知客户端我已经接受到 请求信息;
第三次握手:客户端再次向服务端发送确认信息,确认连接。
由于TCP协议的面向连接的特性,他可以保障传输数据的安全性,所以是一个被广泛使用的协议,例如在下载文件的时候,如果数据接收不完整,那么将会导致文件丢失而不能使用,因此,下载文件必须使用TCP协议。
相关文章推荐
- TCP和UDP浅析
- TCP和UDP在网络层实现的不同--基于linux内核
- HTTP、TCP、UDP、Socket
- dns 使用的tcp还是udp
- VC++实现获取所有的TCP与UDP链接
- TCP 和 UDP 在socket编程中的区别
- TCP、UDP协议详解
- Socket 通信原理 -- Android客户端和服务器以TCP&&UDP方式互通
- SOCKET,TCP/UDP,HTTP,FTP浅析
- TCP-IP详解卷1-11:UDP(User Datagram Protocol):用户数据报协议
- Qt开发:TCP和UDP网络通信
- TCP UDP 包处理方式
- 简单的tcp与udp通信 java代码
- Socket 通信原理(Android客户端和服务器以TCP&&UDP方式互通)
- SE02 Unit06 TCP通信 、 UDP通信
- TCP与UDP的区别
- 用CAsyncSocket类实现TCP UDP的模型
- TCP和UDP的原理、区别
- C#完整的通信代码(点对点,点对多,同步,异步,UDP,TCP)