对于程序员来说,我们既可以选择实现面向连接的服务器,也可以选择实现无连接的服务器。
User Data gram Protocol (UDP)
- 无连接
- 一个socket可以接收和发送来自不同机器的数据
- 最大努力交付
- 数据可能会丢失
- 数据不保证有序到达
Transmission Control Protocol (TCP)
- 基于连接
- 客户端通过一个socket连接到服务器,如果要连接到不同的服务器,就要使用不同的socket
- TCP socket提供双向传输通道
- 丢失的数据会重传
- 数据保证有序到达
- 使用了流量控制
适用情况
- 对于处理大量客户端请求并返回的情况, UDP服务器实现起来更简单
- TCP更适合处理网络的问题