TCP通讯和UDP通讯都属于网络通讯 ,两种通讯模式都有server端(服务器端)和client端(客户端)的区分。
1. TCP通讯:
TCP通讯的的时候必须先要建立一个连接,就像我们打电话一样,打的人必须拨号,打通后,对方必须接起来才能通话。一个TCP服务器端可以接受多个客户端的链接。服务器端程序开通一个TCP的端口号,客户端通过该端口号建立连接。服务器端被动等待连接,客户端主动发起连接。TCP通讯的特点:
l TCP服务器端开启一个端口,被动等待连接;
l TCP客户端根据服务器端的IP地址以及开放的端口号,主动发起连接;
l TCP是通讯是可靠连接,在没有建立连接的情况下,是没有办法进行通讯的;
l TCP客户端也需要开启一个端口号,进行数据接收。
2. UDP通讯
UDP在通讯的时候,服务器端被动等待接收,UDP客户端根据IP地址以及开放的端口号,直接发送数据,所以UDP不是一个可靠连接。UDP通讯的时候不需要建立连接,它的通讯方式就想我们发短信一样,只要知道对方的电话号码,直接编辑短信并发送,至于对方收到与否,发的一方不知道,但是短信已经发出去了。UDP通讯的特点:
l UDP通讯不需要建立连接;
l UDP服务器端需要开通一个端口,根据已知的IP地址以及端口号,进行数据发送;
l UPD客户端不需要建立连接,可以直接发数据,只需要知道对方的IP地址以及开放的端口号,UDP客户端同样需要开放一个端口号;
l UDP提供了无连接通信,且不对传送数据包进行可靠性保证,适合于一次传输少量数据UDP报文没有可靠性保证、顺序保证和流量控制字段等,可靠性较差。但是正因为UDP协议的控制选项较少,在数据传输过程中延迟小、数据传输效率高,适合对可靠性要求不高的应用程序,或者可以保障可靠性的应用程序。
3. TCP与UDP基本区别
l 基于连接与无连接;
l TCP要求系统资源较多,UDP较少;
l UDP程序结构较简单;
l TCP保证数据正确性,UDP可能丢包;
l TCP保证数据顺序,UDP不保证。
4. UDP应用场景:
l 面向数据报方式;
l 网络数据大多为短消息;
l 拥有大量Client;
l 对数据安全性无特殊要求;
l 网络负担非常重,但对响应速度要求高。