网络编程中的套接字技术详解
一、网络信息获取
在网络编程中,客户端和服务器程序通常需要确定要使用的地址和端口号。为了实现更通用的服务器和客户端程序,可以使用网络信息函数来完成这一任务。
(一)服务与地址查询函数
可以将服务器添加到 /etc/services 中的已知服务列表中,为端口号分配名称,这样客户端就可以使用符号化的服务名称而非具体的端口号。同时,通过调用主机数据库函数,可以根据计算机名称确定其 IP 地址。这些函数会查询网络配置文件(如 /etc/hosts )或网络信息服务(如 NIS 和 DNS)。
主机数据库函数在 netdb.h 头文件中声明,以下是两个重要的函数:
#include <netdb.h>
struct hostent *gethostbyaddr(const void *addr, size_t len, int type);
struct hostent *gethostbyname(const char *name);
gethostbyaddr 函数根据地址获取主机信息, gethostbyname 函数根据主机名获取主机信息。它们返回的 hostent 结构体至少包含以下成员:
struct hostent {
char *h_name;
超级会员免费看
订阅专栏 解锁全文
3124

被折叠的 条评论
为什么被折叠?



