一、UDP通信
服务器端:
1、WSAStartup 初始化环境
2、socket 创建用户数据报类型的SOCKET
3、bind 绑定SOCKET到本地端口和IP地址
4、recvfrom 接收请求
5、sendto 发送响应
6、closesocket
7、WSACleanup
客户端:
1、WSAStartup 初始化环境
2、socket 创建用户数据报类型的SOCKET
3、sendto 发送请求数据到服务器端IP+端口
4、recvfrom 接收服务器响应消息
5、closesocket
6、WSACleanup
二、TCP通信
服务器端:
1、WSAStartup 初始化环境
2、socket 创建流式的SOCKET
3、bind 绑定SOCKET到本地端口和IP地址
4、listen 监听创建的socket
5、accept 等待连接请求
6、recv 接收客户端请求
7、send 发送响应数据
8、closesocket 客户端通信SOCKET
9、closesocket 关闭服务器端监听SOCKET
10、WSACleanup
客户端:
1、WSAStartup 初始化环境
2、socket 创建流式类型的SOCKET
3、connect 连接服务器端IP+端口
4、send发送请求数据
5、recv接收服务器响应消息
6、closesocket
7、WSACleanup
三、比较流程差异
TCP是面向连接的传输层协议,基于流的通信,故需要创建流式类型的SOCKET,而UDP是面向无连接的通信协议,需要创建SOCKET类型为用户数据报。
从传输可靠性上,TCP通过三次握手,实现可靠传输,而UDP不可靠;
从响应速度上,TCP响应速度不如UDP通信;