TCP与UDP

Untitled

TCP通信流程

连接管理

Untitled

服务器端

<aside> 💡 服务器端是被动接受连接的一方(需要监听)

</aside>

  1. socket():创建一个用于监听的套接字
  2. bind():将这个监听文件描述符和本地的IP和端口绑定(IP和端口就是服务器的地址信息)
  3. listen():设置监听,监听的 fd(套接字) 开始工作
  4. accept():阻塞等待,当有客户端发起连接,解除阻塞,接受客户端的连接,会得到一个和客户端通信的套接字(fd)
  5. 通信
  6. close():通信结束,断开连接

客户端

<aside> 💡 客户端是主动发起连接的一方(不需要监听)

</aside>

  1. socket():创建一个用于通信的套接字(fd)
  2. connect():连接服务器,需要指定连接的服务器的 IP 和 端口
  3. 连接成功了,客户端可以直接和服务器通信
  4. close():通信结束,断开连接