深入理解基本套接字编程(4)

  recvfrom和snedto的前3个参数和read/write的前3个参数一样。flags表示设置的标志值,简单的UDP程序可以直接设置为0,最后两个参数表示服务端地址(对于sendto来说)或者是对端地址(对于recvfrom来说)。如果不关心对端的地址,则设置为NULL,此时addrlen也可以设置为NULL了。

  注意:recvfrom和sendto也可以应用于TCP编程,不过一般不这样用。UDP编程会有数据包的丢失问题,因为UDP是不可靠的,如果一个客户的数据包丢失,客户端将永远阻塞在recvfrom函数调用;类似的,如果客户数据到达了服务端,然后响应数据包丢失了,则客户永远阻塞在recvfrom调用。为了防止这样的问题出现,一般可以给recvfrom设置一个超时时间。简单的UDP使用recvfrom和sendto函数例子:探索UDP套接字编程

参考资料:

  1、UNIX网络编程卷1:套接字联网API(第3版) 中文高清带完整书签 PDF  下载见

  2、探索UDP套接字编程

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/6e5eba01d2a35ae1dd7ecba1d872f6c5.html