44、网络编程中的套接字技术:从基础到多客户端处理

网络编程中的套接字技术:从基础到多客户端处理

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 */
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值