请教一个Winsock函数getaddrinfo的问题

zheyimiao zheyimiao 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
书上说getaddrinfo可以把主机名转化成ip地址, 如果客户端使用的话在后面可以用返回的链表的信息来作通信.我测了一下书上的程序,关键代码有

hints.ai_flags = AI_CANONNAME;
hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
hints.ai_protocol = IPPROTO_TCP;

rc = getaddrinfo("MMMK-PC.microsoft.com", "10001", &hints, &result);
rc = connect(s, result->ai_addr, result->ai_addrlen);

我自己写了个在10001端口上的服务器程序,在测试客户端的时候,如果把主机名换成我的ip地址,能够连接到服务器端,可以换成主机名后就不能连接上了,这是什么原因呢.

另外,我通过getaddrinfo("MMMK-PC.microsoft.com", "10001", &hints, &result)这个函数后,怎么打印出我的ip地址呢?
...全文

相关推荐

通信与网络中的兼容IPv4与IPv6的Winsock网络编程研究

0 引 言   随着通信技术和网络技术的飞速发展,特别是近年来,IPv4协议面临着一些难以解决的问题,如地址短缺、缺乏服务质量控制Qos和安全性差等。为了应对这一挑战,IETF(Internet Engineer Task Force)组织提出了为适应未来对于网络基础设施数量和质量需求而设计的下一代互联网协议IPv6。IPv6继承了IPv4的优点,并根据IPv4多年来运行的经验进行了大幅度的修改和功能扩充,其扩展性、路由、安全性、配置和可靠性都有明显改进。   l IPv6相对于IPv4 WinSock的改变   1.1 IPv6中新增加的常量   为了支持IPv6,需要定义一个新的地

weixin_38631042

Winsock获取主机信息[代码]

本文详细介绍了在Winsock网络编程中如何通过主机IP地址或主机名获取主机信息。通过gethostbyaddr()和getnameinfo()函数可以从IP地址获取主机信息,包括主机名、别名和地址列表等,其中gethostbyaddr()函数需要将IP地址转换为整型后再处理。同时,文章还介绍了gethostbyname()和getaddrinfo()函数,它们可以通过主机名获取主机信息,其中getaddrinfo()函数支持更灵活的配置,如套接字类型和协议类型的选择。文章提供了详细的函数格式、结构定义和相关代码示例,帮助开发者理解和实现这些功能。

c7d8e

兼容IPv4与IPv6的Winsock网络编程研究

随着通信技术和网络技术的飞速发展,特别是近年来,IPv4协议面临着一些难以解决的问题,如地址短缺 ...

weixin_38499503

VC获取IP地址

winsock2获取IP地址 http://blog.csdn.net/greless/article/details/72679761

Greless

VC++获取主机名和地址

VC++获取主机名和地址<br><br>绝对实用的程序,o(∩_∩)o...

skavon01
评论 2
收藏 已收藏
分享
返回顶部
zheyimiao
C++ 语言 65,214 成员 250,514 内容