创建UDP客户端的典型过程为:首先调用socket()函数,接下来定义发送和接收数据的远程主机和端口,然后用sendto()和recvfrom()来发送接收数据,如果使用sendto()和recvfrom()函数则可以在发送数据时再指定目标地址及端口。
除此之外UDP数据报的发送也可以使用write()、send()函数。如果使用write()或send(),则必须事先以UDP套接字为参数调用connect()函数。
与TCP不同的是,在UDP套接字上收发的数据是作为单独的单元接收或发送的,而不是作为字节流。每次调用write()、send()、或sendto()函数都会在线路上产生一个UDP数据报。接收到的UDP数据报的读取也是一个单独的操作,如果读取报文时提供的缓冲区长度不够,则会返回一个出错代码。
例如:
|
|
或者我们可以用sendto
|
|