当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 3 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 对该程序中的用法感到很奇怪,请大家帮忙解释下!
帖子发表于 : 2013-03-01 21:53 

注册: 2013-01-23 21:46
帖子: 27
系统: windows xp
送出感谢: 2
接收感谢: 0 次
大家好!
本人是初学者,学习版本是Ubuntu 12.04 LTS,最近练习网络编程时发现书中一个很奇怪的问题,无法解释为什么要这样。
代码不长的,其中问题的地方我已经注明了,代码在附件中,望大家下载下来看看。
我是按照书上到例子来的,还望各位朋友解释下,谢谢了!
附件:
15.1.c [1.29 KiB]
被下载 24 次


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 对该程序中的用法感到很奇怪,请大家帮忙解释下!
帖子发表于 : 2013-03-02 11:46 
头像

注册: 2013-02-02 10:48
帖子: 13
送出感谢: 0 次
接收感谢: 3
看文档的话 h_addr 是宏,就是 h_addr_list[0]。为后向兼容定义的(估计早的时候没有addr_list,只有一个addr)。


http://msdn.microsoft.com/en-us/library ... 85%29.aspx


Syntax
C++


typedef struct hostent {
char FAR *h_name;
char FAR FAR **h_aliases;
short h_addrtype;
short h_length;
char FAR FAR **h_addr_list;
} HOSTENT, *PHOSTENT, FAR *LPHOSTENT;

Members

h_name

The official name of the host (PC). If using the DNS or similar resolution system, it is the Fully Qualified Domain Name (FQDN) that caused the server to return a reply. If using a local hosts file, it is the first entry after the IPv4 address.
h_aliases

A NULL-terminated array of alternate names.
h_addrtype

The type of address being returned.
h_length

The length, in bytes, of each address.
h_addr_list

A NULL-terminated list of addresses for the host. Addresses are returned in network byte order. The macro h_addr is defined to be h_addr_list[0] for compatibility with older software.


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 对该程序中的用法感到很奇怪,请大家帮忙解释下!
帖子发表于 : 2013-03-03 10:25 

注册: 2013-01-23 21:46
帖子: 27
系统: windows xp
送出感谢: 2
接收感谢: 0 次
谢谢,明白了……
weidongxu 写道:
看文档的话 h_addr 是宏,就是 h_addr_list[0]。为后向兼容定义的(估计早的时候没有addr_list,只有一个addr)。


http://msdn.microsoft.com/en-us/library ... 85%29.aspx


Syntax
C++


typedef struct hostent {
char FAR *h_name;
char FAR FAR **h_aliases;
short h_addrtype;
short h_length;
char FAR FAR **h_addr_list;
} HOSTENT, *PHOSTENT, FAR *LPHOSTENT;

Members

h_name

The official name of the host (PC). If using the DNS or similar resolution system, it is the Fully Qualified Domain Name (FQDN) that caused the server to return a reply. If using a local hosts file, it is the first entry after the IPv4 address.
h_aliases

A NULL-terminated array of alternate names.
h_addrtype

The type of address being returned.
h_length

The length, in bytes, of each address.
h_addr_list

A NULL-terminated list of addresses for the host. Addresses are returned in network byte order. The macro h_addr is defined to be h_addr_list[0] for compatibility with older software.


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 3 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译