网络编程中的网络信息、多客户端处理与 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 */
超级会员免费看
订阅专栏 解锁全文
172万+

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



