服务端先初始化socket,然后与端口绑定,并对端口进行监听,然后调用accept函数阻塞等待客户端的连接。如果有客户端初始化socket,连接到服务器。如果连接成功,客户端与服务器的连接就建立了。客户端向服务器发送数据请求,服务器接收请求并处理请求,然后把回应数据发送给客户端,客户端读取数据之后,关闭连接,一次交互就完成了。
- 客户端调用connect函数,触发连接请求,向服务器发送一个SYN J包,这时connect进入阻塞
- 服务器监听到连接请求之后,调用accept函数接收请求向客户端发送SYN K ,ACK J+1,这时accept进入阻塞
- 客户端收到服务器的SYN K ,ACK J+1,这时connect返回,并对SYN K进行确认;服务器接收到ACK K+1时,accept返回,三次握手完毕。