2013-03-03 57 views
-5

获得IP是否有任何人知道如何从主机获得IP在C插座使用? (Winsock的) 我有一个插座,但是当我使用: sock.sin_addr.s_addr=inet_addr("example.no-ip.org");它不会工作...c。通过主机名

+1

“它不会工作......”是不是一个有效的理由,开始提问。什么是错误?的 – Andrey 2013-03-03 21:48:55

+0

可能重复(http://stackoverflow.com/questions/5444197/converting-host-to-ip-by-sockaddr-in-gethostname-etc) – 2013-03-03 21:49:01

+0

以及当[转换主机通过的sockaddr \ _in的gethostname等,以IP]它编译,这是没有错误...但在及时套接字连接,它不会像我自己的IP作品......它不会建立连接... ... – 2013-03-03 21:53:00

回答

0

功能inet_addr()仅适用于编号的IP地址,如1.2.3.4。 要查找通用主机名称的IP地址,您需要功能gethostbyname()。 参见例如this documentation of Microsoft with example。 或者,因为它被弃用,所以功能getaddrinfo()

哦,因为你是在Windows上,不要忘记调用WSAStartup()提前。