Socket
socket是对tcp/ip协议的封装和应用,给我们提供了操作网络的接口。
强联网我们主要使用的是TCP和UDP,首先我们说一下TCP。
TCP
大多数人提到TCP会想到三次握手和四次挥手,建立连接和断开连接的原理
先观察这个图
三次握手:客户端和服务端建立连接需要三次握手
第一次:客户端向服务端发送报文,向服务器发送连接请求;
第二次:服务端向客户端返回ACK报文,通知客户端可以连接;
第三次:客户端收到服务端报文,正式连接服务端。
三次握手完成。
四次挥手:客户端要与服务器断开连接,需要四次挥手
第一次:客户端向服务端发送FIN报文,向服务器发送中断连接请求;
第二次:服务器收到客户端中断请求,向客户端发送已得知中断请求,但服务器还有资源未处理,需要等待;
第三次:服务器处理完数据后,再次向客户端发送报文,告诉客户端可以断开连接了;
第四次:客户端收到服务端断开连接的确认信息后,最后发送信息看是否真的断开连接了,如果服务器一段时间没有回应,则说明已经