一、概述
使用UDP和TCP编写程序时,我们要了解他们的差异。原因在于这两个传输层之间的差别:TCP是面向连接的可靠的字节流传输协议,UDP是无连接的不可靠的数据报传输协议。不同的协议有不同的使用场合,使用UDP编写的一些常见的应用程序有:DNS(域名系统),NFS(网络文件系统)和SNMP(简单网络管理协议)。
下图是典型的UDP客户/服务器程序的函数调用。其中UDP不建立连接,只管使用sendto函数向服务器发送数据报(需要指定目的服务器的地址作为参数),服务器也不接受来自客户端的连接,而是只管调用recvfrom函数,等待客户端数据的到达。
基于UDP套接字编程函数调用的顺序为:
1. 服务器端:socket--->bind--->recvfrom--->sendto--->close
2. 客户端:socket--->sendto-