TCP通信流程
1、服务器端(被动接收连接的角色)
(1)创建一个用于监听的套接字
- 监听:监听有客户端的连接
- 套接字:这个套接字其实就是一个文件描述符
(2)将这个监听文件描述符和本地的IP和端口绑定(IP和端口就是服务器的地址信息)
- 客户端连接服务器的时候使用的就是这个IP和端口
(3)设置监听,监听的fd开始工作
(4) 阻塞等待,当有客户端发起连接,解除阻塞,接受客户端的连接,会得到一个和客户端通信的套接字(fd)
(5)通信
- 接收数据
- 发送数据
(6)通信结束,断开连接
2、客户端
(1)创建一个用于通信的套接字(fd)
(2)连接服务器,需要指定连接的服务器的 IP 和 端口
(3)连接成功了,客户端可以直接和服务器通信
- 接收数据
- 发送数据
(4) 通信结束,断开连接
具体流程图:
socket模型创建流程图