getservbyname、getservbyport
名字
和端口号
的映射存放在/etc/services配置文件中,那么之后,尽管端口号发生改变,我们仅仅需要修改/etc/services配置文件中某个服务对应的端口号即可(不需要重新编译程序)。
使用 服务名+协议名 或 端口号+协议名 得到 struct servent 结构体(某个服务的详细信息),先介绍该结构体:
先介绍 struct servent 结构体
struct servent{char* s_name; 服务名char** s_aliases; 别名列表int s_port; 端口号(网络字节序)char* s_proto; 使用的协议
}
① getservbyname
:使用 servname+protoname ,得到 struct servent
struct servent* getservbyname(const char* servname, const char* protoname);
参数:servname服务名; protoname协议,有TCP、UDP等。
返回值:若成功,返回非空指针;失败,返回NULL
struct servent* sptr = getservbyname(“domain”, “udp”);
struct servent* sptr = getservbyname(“FTP”, NULL);
② getservbyport
:使用 端口号+protoname ,得到 struct servent
struct servent* getservbyport(int port, const char* protoname);
参数:port必须是网络字节序
struct servent* sptr = getservbyport(htons(53), “udp”);
struct servent* sptr = getservbyport(htons(21), “tcp”);
getservbyname、getservbyport相关推荐
- UNP编程:31---名字与地址转换之(服务解析函数:getservbyname()、getservbyport()、struct servent)
一.服务与地址的关系 一个端口代表一个服务(服务进程),因此可以使用服务名来代替端口的使用 像主机一样,服务也通常靠名字来认知 如果我们在程序代码中通过其名字而不是其端口号来指代一个服务,而且从名字到 ...
- (域名、主机名、服务名、端口号)名字与地址的转换 (gethostbyname、getservbyname、getaddrinfo、getnameinfo等)
转载地址 本章讲述在名字和数值地址间进行转换的函数:gethostbyname和gethostbyaddr在主机名字与IP地址间进行转换,getservbyname和getservbyport在服务器 ...
- 名字与地址转换getservbyname 与 getservbyport函数
名字与地址转换getservbyname 与 getservbyport函数 服务也通常靠名字来标志,getservbyname函数用于根据给定名字查找相应服务. #include struct ...
- 网络编程学习笔记(getservbyname和getservbyport函数)
通过服务器的名字而不是服务器端口号来认知它,而且如果从主机到端口号的映射包含在一个文件中(一般是/etc/services),则如果端口号改变,我们所需做的所有改动就是改动文件/etc/service ...
- getservbyname和getservbyport
getservbyname函数和getservbyport函数其实也挺简单的.来看看百度百科是怎么描述他们的.getservbyname()返回与给定服务名对应的包含名字和服务号信息的servent结 ...
- Linux编程技术总结
前言 所谓Linux编程技术就是在Linux操作系统环境下进行软件开发时所使用的各种编程技术. 一 常见的Linux系统发行版 在介绍常见的 Linux 系统版本之前,首先需要区分 Linux 系统内 ...
- Unix网络编程学习笔记之第11章 名字与地址转换
一. 域名系统(DNS) 1. 简介 DNS主要用于主机名和IP地址之间的映射. 主机名可以是简单的名字ljm,也可以是全限定域名ljm.localdomainbaidu.com等. 2.资源记录 D ...
- 第14章 多线程编程
14.1 Linux线程概述 14.1.1 线程模型 线程是CPU调度的最小单位.线程可分为内核线程和用户线程.内核线程:运行在内核空间,由内核来调度:用户线程:运行在用户空间,由线程库来调度.当进程 ...
- 《Unix网络编程》卷一(简介TCP/IP、基础套接字编程)
通常说函数返回某个错误值,实际上是函数返回值为-1,而全局变量errno被置为指定的常值(即称函数返回这个错误值). exit终止进程,Unix在一个进程终止时总是关闭该进程所有打开的描述符. TCP ...
最新文章
- qt5.10 for android 使用webview时qml 与html 中js的相互访问
- Java网络编程2---Socket-TCP编程
- 编程语言对比 异常处理
- 65lbc184应用电路原理_75lbc184应用电路
- golang微服务框架对比_最强开源微服务框架,全网独家整理
- IT讲师韩顺平:我为什么辞去百万年薪,自己创业?
- .dat文件三维点云可视化
- word只能以安全模式打开
- php model module,Yii2用Gii自动生成Module+Model+CRUD
- 为什么有时候我们在测试ESP32或ESP8266模块使用 QOUT/QIO 下载固件,程序无法正常运行? (DIO/DOUT 正常)另外ESP32功耗怎么校验?
- 审查元素为什么看不见代码_代码审查:我们为什么这样做?
- 【NodeJs-5天学习】第三天实战篇③ ——基于MQTT的环境温度检测
- 报错Failure executing javac, but could not parse the error原因分析
- mysql 时间计算器
- “微信之父”张小龙年薪3亿,曾独自一人完成7万行代码
- 高精度除法(精确到小数点后N位)
- 如何一键导出PPT中的所有图片
- C语言中数组的使用详解
- 腾讯QQ2007II Beta2传美版v2.2[2007年11月26日更新]
- JVM调优-有调优我不用,我就耗着,哎,就是玩儿
热门文章
- 2018 ACM/ICPC 沈阳站 J How Much Memory Your Code Is Using?
- 电商互动消息如何进行架构演进?
- 电脑pdf怎么转换成excel表格呢?
- Python 不用selenium 带你高效爬取京东商品评论
- Photoshop之旅游名片制作(保姆级教程)
- 北大igem生物计算机,北京大学iGEM团队在2018国际大赛中再获佳绩
- 家里的 Mac 电脑远程控制公司的 Win10 电脑,疫情也不影响办公。
- 中兴c300 OLT配置SFU
- Legacy Build System
- 联想安装Ubuntu16.04LTS(双系统)知识点汇总(六个小时才下好