单任务 c/s模式下 TCP、UDP通信的一般流程
1. c/s 模式 下UDP通信
2. c/s 模式 下TCP通信
注意:
- 如果有一方关闭了连接,会向另一方发送一个长度为0 的数据包,可以利用这一点判断链接是否被关闭了。
- 监听套接字只负责监听是否有请求到达,到达后会新创建一个套接字进行处理。A(client)和B(server)通信,A会先和B的监听套接字通信,连接成功后,服务器会新建一个套接字(这个套接字叫已连接套接字。),用于和B数据交互。
- 监听套接字监听到客户端连接后,创建一个套接字。这里比较特殊,监听套接字和已连接套接字共享同一个端口,按道理一个套接字应该具有一个唯一的接口。
- 已连接套接字是我们调用accept 函数后,服务器自动为我们创建的,不需要我们手动去创建。 accept 会返回一个套接字文件描述符。