Re: [問題] C winsock2 server IP
這段code或許可以參考一下,條件是server要先知道自己的hostname
#include <windows.h>
#include <winsock.h>
#include <stdio.h>
#pragma comment(lib, "Ws2_32.lib")
int main(int argc, char *argv[])
{
WSADATA wsaData;
DWORD addr;
struct in_addr addr_i;
struct hostent *he;
if (argc < 2) return 0;
if (WSAStartup(MAKEWORD(1,1), &wsaData)!=0) return -1;
if (LOBYTE(wsaData.wVersion) != 1 || HIBYTE (wsaData.wVersion) != 1) {
WSACleanup();
return -1;
}
// Resolve hostname
if ((addr = inet_addr(argv[1])) == INADDR_NONE) {
he = gethostbyname(argv[1]);
if (he == NULL) {
WSACleanup();
return 0;
}
addr = *(DWORD *)(he->h_addr_list[0]);
addr_i.s_addr = addr;
}
printf("%08X\n", addr);
printf("%s", inet_ntoa(addr_i));
WSACleanup();
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.128.220.50
推
11/12 10:48, , 1F
11/12 10:48, 1F
→
11/12 10:56, , 2F
11/12 10:56, 2F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):