UNIX系统有一个记录标准服务的数据库,这个数据库由头文件/etc/services或域名服务器提供。

关键头文件

netdb.h

关键结构体

  1. struct servent /* server entry的缩写 */
  2. {
  3. char *s_name; /* 服务程序的正式名字 */
  4. char *s_alises;/* 服务程序的别名,为一字符串数组,空指针标志该数组结束 */
  5. int s_port; /* 端口号,按网络字节序给出 */
  6. char *s_proto; /* 与该服务一起使用的协议名 */
  7. }

主要函数

函数 描述
[[getservbyname getservbyname]] 通过服务名和协议名返回该服务的servent结构
[[getservbyport getservbyport]] 通过端口号和协议名返回该服务的servent结构
[[setservent setservent]] 打开服务数据库以准备 开始扫描
[[getservent getservent]] 返回服务数据库的下一项,如果不再有下一项,则返回空指针
[[endservent endservent]] 关闭服务数据库