一、TCP
--打电话模型,两个人必须同时占线
--面向连接的网络通信协议
--流量可控
--安全可靠,为了保证,接收方在收到信息后会立马回复一个【收到】的信息给对方。
--全双工
--三次握手是为了客户端和服务器准备资源
--四次握手是为了客户端和服务器释放资源
--四次握手是因为服务器需要第一时间告诉客户端收到关闭发送的命令,两次分开是因为服务器什么时候告诉客户端不向他发送数据的时间不固定,可能需要等待一段时间,因为可能有未发送完毕的数据。
--谁先发起close,那么这一方就会有超时时间2Min左右,是数据包在网络中传输最大时间的2倍,为了避免没有答复及时对方而对方重新发送数据。
--一般都是客户端先关闭程序,因为客户端可以随机分配端口,而服务器需要绑定端口,这就避免了2min内该端口不能被重复使用的问题。
--服务器也有超时时间,当收到客户端的再次答复时,立即释放资源。
三次握手、四次挥手
二、UDP
--写信模型,知道对方地址就可以直接发送数据,不管对方能不能接受,也不关心能不能回复
--简单方便
--全双工
原文:https://www.cnblogs.com/henji1266/p/12046124.html