Winapi 在winsock中,如何通过域名连接到服务器?

Winapi 在winsock中,如何通过域名连接到服务器?,winapi,winsock,Winapi,Winsock,当我为connect函数填写SOCKADDR_IN struct时,我倾向于用确切的ip地址填写它,但假设我想在线设置一个动态域名来表示偶尔更改的ip地址?如果给定域名,我不太确定如何填写结构。我现在做的是: #define DEFAULT_PORT 12345 SOCKADDR_IN serverInfo; serverInfo.sin_port=htons(DEFAULT_PORT); serverInfo.sin_family=AF_INET; serverInfo.sin_addr.s

当我为connect函数填写SOCKADDR_IN struct时,我倾向于用确切的ip地址填写它,但假设我想在线设置一个动态域名来表示偶尔更改的ip地址?如果给定域名,我不太确定如何填写结构。我现在做的是:

#define DEFAULT_PORT 12345
SOCKADDR_IN serverInfo;

serverInfo.sin_port=htons(DEFAULT_PORT);
serverInfo.sin_family=AF_INET;
serverInfo.sin_addr.s_addr= inet_addr("127.0.0.1");  // actual ip normally here

但是如何解析域名以获取此结构的服务器ip?

您想使用
gethostbyname
函数吗

gethostbyname()
是旧方法。对于新的开发,您应该使用
getaddrinfo()
gethostbyname()
的文档甚至这样说。