getservbyname()函数与getserbyport()函数都是用来获取服务的信息。该信息用servent结构表示。

1 servent结构

servent结构的定义为

typedef struct servent {char *s_name; char **s_aliases} SERVENT, *PSERVENT, *LPSERVENT;

其中,变量s_name指向服务名,s_aliases保存了指向服务别名的指针。

2 getservbyname()函数

getservbyname()函数的作用是通过服务名来获取服务的信息。该函数的格式为

servent * getservbyname( const char *name, const char *proto );

其中,参数name指向了服务名;proto指向了协议类型。如果成功执行,getservbyname()函数返回保存了服务信息的指针。

servent* pServent_name;pServent_name = getservbyname("domain", NULL);

其中,参数“domain”指定了服务名,NULL表示返回获取到的第一个服务信息。此时pServent_name指向的获取到的服务信息。

3 getservbyport()函数

getservbyport()函数的作用是通过服务的端口来获取服务的信息。该函数的格式为

servent * getservbyport( int port, const char *proto );

其中,参数port是服务对应的端口号,需要注意的是该端口是网络字节序格式;proto指定了服务的协议类型。如果成功执行,getservbyport()函数返回保存了服务信息的指针。

servent *pServent_port;pServent_port = getservbyport(htons(13568), "tcp");

其中,13568是服务对应的端口号,“tcp”是服务的协议类型。获取到的服务信息就保存在pServent_port指定的地址中。

4 所需头文件和库文件

需要注意的是,使用getservbyname()函数与getserbyport()函数时,需要指定其所需的头文件和库文件。

#include <winsock.h>#pragma comment(lib, "Ws2_32.lib")

getservbyname()函数与getservbyport()函数相关推荐

  1. 名字与地址转换getservbyname 与 getservbyport函数

    名字与地址转换getservbyname 与 getservbyport函数 服务也通常靠名字来标志,getservbyname函数用于根据给定名字查找相应服务. #include struct    ...

  2. render函数和redirect函数的区别+反向解析

    render函数和redirect函数的区别+反向解析 1.视图函数:一定是要包含两个对象的(render源码里面有HttpResponse对象)   request对象:----->所有的请求 ...

  3. Python day10 global关键字、函数递归、匿名函数、map函数的用法详解

    1.global关键字 引用全局变量,在局部全局变量改变,也会改变,global相当于指针,将地址指向全局变量的name name='littlepage'def littepage():global ...

  4. C++ 笔记(13)— 函数(函数声明、函数定义、函数调用[传值、指针、引用]、函数参数默认值、函数重载)

    每个 C++ 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数. 1. 函数声明 函数声明告诉编译器函数的名称.返回类型和参数.函数声明包括以下几个部分: ret ...

  5. Go 学习笔记(16)— 函数(02)[函数签名、有名函数、匿名函数、调用匿名函数、匿名函数赋值给变量、匿名函数做回调函数]

    1. 函数签名 函数类型也叫做函数签名,可以使用 fmt.Printf("%T") 格式化参数打印函数类型. package mainimport "fmt"f ...

  6. Go 学习笔记(15)— 函数(01)[函数定义、函数特点、多值返回、实参形参、变长参数,函数作为参数调用]

    1. 函数定义 Go 语言最少有个 main() 函数.函数声明告诉了编译器函数的名称,返回类型和参数. func funcName(parameter_list)(result_list) {fun ...

  7. MySQL 学习笔记(3)— 字符串函数、数值函数、日期时间函数、流程函数、聚集函数以及分组数据

    1. 字符串函数 MySQL 的常用函数包括字符串函数.数值函数.日期时间函数.流程函数等. SELECT ascii("abc"),char(97),concat("h ...

  8. 经常可能会用到的【函数节流和函数防抖】记录下,做下区分

    今天突然被人问到,函数节流和函数防抖的区别是什么, 结果我脑子一热直接举了个滚动条的粟子说是优化高频率执行的手段,就记得自己是用setTimeout来实现的. 完了区别是什么??哪个是哪个都蒙B了 回 ...

  9. c语言随机数生成0 99函数,C语言生成随机数的函数、延时函数

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 下面C语言代码使用了生成随机数的函数.延时函数.请大家仔细观察其显示效果. 从以下代码,我们可以得出一个重要的结论:当上述两类函数被放入循环时,应作出一定 ...

最新文章

  1. 织梦文章内容屏蔽替换词语多个敏感字词
  2. 36 张图详解 ARP :网络世界没有我,你哪也别想去
  3. BTC 再陷横荒之力,BCH 或成破局良器
  4. unity and MySql
  5. 数组的遍历 java
  6. Python学习笔记之变量
  7. python - super 寻找继承关系
  8. java 数据库按钮跳转_java,数据库的连接及基本操作
  9. Verilog入门教程与实例分享
  10. 云服务商拿来主义或大限将至,Elastic 表示将变更开源许可协议并进行诉讼
  11. Java永久保存数据_java怎么保存数据
  12. NB-IoT通信模组读取IMEI、ICCID、IMSI
  13. python火车抢票_春运火车票太难抢?不如试试这个python开源工具吧
  14. 网络规划设计师上午真题及解析(2019)
  15. 奇安信VS启明星辰 欲上市“新人”与上市“老手”的全面对比
  16. Attribute-aware Pedestrian Detection in a Crow
  17. 直播报名 | Apache Kylin Meetup
  18. python第三章课后答案_XX医学院本科各专业《Python》第三章习题与答案-2020年实用精品...
  19. thinkpad如何屏蔽bios更新 提示电池_恢复bios出厂默认值
  20. SAP HANA Procedure的Odata更新(POST)表操作

热门文章

  1. 电子商务系统设计经验分享
  2. mysql的一些基本常识(约束 、事务,事务隔离级别)
  3. Jasper Report 6.8 根据后台数据生成动态报表(JRXML文件实现)(三)JRXML文件生成过程(支持json,bean,map list数据源)
  4. 魅族5.0以上支付宝开发程序崩溃,异常ActivityNotFoundException,其实是flyme6的安全模式搞的鬼
  5. 未能加载文件或程序集 Renci.SshNet, Version=2016.1.0.0, Culture=neutral, PublicKeyToken= 1cee9f8bde3db106或它的某
  6. 【Excel】excel使用VLOOKUP+IF实现多列匹配查找
  7. Deepstream 资料阅读记录
  8. 专业心理性格测试软件,专业心理性格测试题目
  9. HDU4847-Wow! Such Doge!
  10. 【复试英语】应对考官三招解决尴尬局面!