2013-03-03 58 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()提前。