名字和地址转换
来源:互联网 发布:欧莱雅美发产品淘宝 编辑:程序博客网 时间:2024/04/29 10:43
这都是系统调用,掌握主要矛盾,次要矛盾实践中零碎弄明白。慢慢学习基础知识,千万不要好高骛远,都是在慢慢的学习知识问题。
这章很简单,就是介绍了一些系统函数如何使用,以及调用者和被调用者变量分配问题,可以深化对C语言的理解。
域名系统调用
域名系统 (Domain Name System, DNS) 主要用于主机名字与IP地址之间的映射。主机名既可以是一个简单名字 (simple name )。
重要数据结构已经系统函数
gethostbyname
通过主机名返回主机对应的IPv4地址
指针数组的指针在这里使用很广泛。存储信息都由调用函数动态分配,返回的仅仅是可以访问数据的指针。为了方便遍历,所以在下面指针数组里面最后一个元素是哨兵元素,赋值以NULL,那么我们就可以遍历指针了。直到遍历的结束地点。无非就是一堆数据存放在内存上,然后咱们用什么方式去访问的问题。
struct hostent{ char *h_name; /* Official name of host. */ char **h_aliases; /* Alias list.指向指针数组 */ int h_addrtype; /* Host address type. */ int h_length; /* Length of address. */ char **h_addr_list; /* List of addresses from name server.IP地址多个,所以执行指针数组 */};struct hostent *gethostbyname (const char *__name);
struct addrinfo{ int ai_flags; /* Input flags. */ int ai_family; /* Protocol family for socket. */ int ai_socktype; /* Socket type. */ int ai_protocol; /* Protocol for socket. */ socklen_t ai_addrlen; /* Length of socket address. */ struct sockaddr *ai_addr; /* Socket address for socket. */ char *ai_canonname; /* Canonical name for service location. */ struct addrinfo *ai_next; /* Pointer to next in list. */};struct protoent{ char *p_name; /* Official protocol name. */ char **p_aliases; /* Alias list. */ int p_proto; /* Protocol number. */};struct servent{ char *s_name; /* Official service name. */ char **s_aliases; /* Alias list. */ int s_port; /* Port number. */ char *s_proto; /* Protocol to use. */};struct hostent *gethostbyaddr (const void *__addr, __socklen_t __len, int __type);struct servent *getservent (void);struct servent *getservbyname (const char *__name, const char *__proto);int getaddrinfo (const char *__restrict __name,const char *__restrict __service,const struct addrinfo *__restrict __req,struct addrinfo **__restrict __pai);void freeaddrinfo (struct addrinfo *__ai);
阅读全文
0 0
- 名字和地址转换
- 名字和地址的转换
- 第九章 基本名字和地址转换
- 名字与地址转换
- 基本名字与地址转换
- 名字与IP地址转换编程
- 网络编程练习-名字与地址转换
- 名字与地址转换函数笔记
- 第11章 名字与地址转换
- apue和unp的学习之旅11——名字与数值地址转换
- IP网络中的名字和地址
- UNP函数笔记八: 名字与地址转换
- UNP总结 Chapter 11 名字与地址转换
- Unix网络编程—名字与地址转换
- 网络编程中各种名字与地址的转换
- UNP卷1:第十一章(名字与地址转换)
- 《网络编程》套接字地址与名字转换
- 《unix网络编程》(20)名字与地址转换函数
- Python类变量和成员变量
- Redis 和 Memcached 各有什么优缺点,主要的应用场景是什么样的?
- 调试和运行matlab代码(源程序)的技巧和教程
- ASP.NET——验证控件
- 系统间通信方式之(Kafka的集群方案介绍1)(二十)
- 名字和地址转换
- HTML颜色代码表
- h5循环结构,嵌套
- 数据库地区表设计的思考
- 卤煮节流实现移动端自适应开发
- 循环结构(四)
- rhel6.4升级gcc到4.8.2
- JFS2 log设备的建议 logform
- 软件调试笔记1