网络编程中的套接字技术:从基础到多客户端处理
1. 网络信息获取
在网络编程中,客户端和服务器程序通常需要确定要使用的地址和端口号。可以通过网络信息函数来实现这一点。如果有相应权限,可以将服务器添加到 /etc/services 中的已知服务列表,这样客户端就可以使用符号服务名而非端口号。同时,通过调用主机数据库函数,可以根据计算机名称确定其 IP 地址,这些函数会查询网络配置文件(如 /etc/hosts )或网络信息服务(如 NIS 和 DNS)。
1.1 主机数据库函数
主机数据库函数在 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; /* name of the host */
超级会员免费看
订阅专栏 解锁全文
5651

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



