unix网络编程-第八章-小结

来源:互联网 发布:淘宝下单截图生成 编辑:程序博客网 时间:2024/05/22 14:07

使用UDP编写的常用应用程序有:DNS,NFS,SNMP

写一个长度为0的数据报是可行的。在UDP情况下,这会形成一个只包含一个IP首部和一个8字节UDP首部而没有数据的IP数据报。

UDP是无连接的,也就没有关闭UDP之类的事情。

对于一个UDP套接字,如果进程首次调用sendto时它没有绑定一个本地端口,那么内核就在此时为它选择一个临时端口。跟TCP一样,客户可以显示的调用bind,很少这么做。

防止这样永久阻塞的一般方法是给客户的recvfrom调用设置一个超时。

验证主机的方法:

1.得到返回的IP地址后,通过DNS查找服务器主机的名字来验证该主机的域名。

2.给服务器主机上配置的每个IP地址创建一个一个套接字,bind后,进行select。

对于UDP套接字,由它引发的异步错误却并不返回给它,除非它已连接。

目的IP地址只能通过为IPv4设置IP_RECVDSTADDR套接字选项,然后调用recvmsg取得。

对UDP套接字调用connect指定对端的IP地址和端口号后为已连接的UDP套接字。然后使用read和write与对端交换数据。

再次调用connect时指定新的IP地址和端口号

断开套接字

UDP发送端淹没其接收端是轻而易举的事情。

TCP端口是独立于UDP端口的。

原创粉丝点击