44、网络编程中的网络信息、多客户端处理与 `select` 机制

网络编程中的网络信息、多客户端处理与 select 机制

1. 网络信息获取

在网络编程中,客户端和服务器程序通常需要确定使用的地址和端口号。对于更通用的程序,可以使用网络信息函数来完成这一任务。

如果有相应权限,可以将服务器添加到 /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);

gethostbyname 函数根据主机名获取主机信息,返回的 hostent 结构体至少包含以下成员:

struct hostent {
    char *h_name;         /* name of the host */
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值