本文共 1080 字,大约阅读时间需要 3 分钟。
UDP可以进行点到点或者点和多点之间的通信,面向报文的不可靠、无连接通信,只对数据传输的实时性要求较高,但不对传输质量有要求。比如视频传输、实时通信等,应选用UDP协议。
TCP是只支持点到点之间的通信,需要连接的、可靠的面向字节的通信,对数据传输的质量有较高要求,但对实时性要求不高。比如HTTP,HTTPS,FTP等传输文件的协议以及POP,SMTP等邮件传输的协议,应选用TCP协议。
一个客户端要向服务器发送连接请求,那么就会建立三次握手,假设一个客户端向服务器发送了SYN报文后突然死机或者掉线,那么客户端就收不到服务器响应发出的SYN和ACK应答报文,这种情况下,服务器一般会尝试再次发送(即再次发送SYN和ACK给客户端)并等待一段时间后如果还得不到客户端的响应,那么服务器就会丢弃这个未完成的连接。如果只是一个用户出现这种异常的情况,那么并不是很大的问题,但如果大量模拟这种情况,服务器端为了维护一个非常大的半连接而消耗非常多的资源,并对这些大量的半连接不断的尝试重发SYN和ACK,最后导致服务器崩溃
在TCP协议中,保证可靠性是通过确认机制和超时重传机制来保证报文段可靠性的。
因为套接字是由一个三元组组成,其中的IP地址可以唯一标识一台主机,其中的端口号可以唯一标识一个应用进程
转载地址:http://rljmb.baihongyu.com/