0
Ich verwende den folgenden Code, um IP vom übergebenen Domain-Namen zu erhalten. Es gibt mir die richtige IP zurück, aber jetzt, wenn einige Netzwerkeinstellungen geändert werden, wird Server Ip ebenfalls geändert. Nun gibt es mir auch, dass alte IP nicht die neue ist. Jede Hilfe wird sehr geschätzt.Problem in GetHostByName & inet_ntoa in MFC (VC++)
CString CNDSClientDlg::GetIPFromDomain(char* cDomainName)
{
if(cDomainName == NULL)
{
MessageBox("Invalid Domain Name","Network Drive Solution", MB_ICONERROR | MB_OK);
return "";
}
char *cIPAddress = NULL;
WSADATA wsaData = {0};
int iResult = 0;
hostent *remoteHost = NULL;
struct in_addr addr;
// Initialize Winsock
iResult = WSAStartup(MAKEWORD(2, 2), &wsaData);
if (iResult != 0)
{
MessageBox("WSAStartup failed","Network Drive Solution", MB_ICONERROR | MB_OK);
return "";
}
remoteHost = gethostbyname(cDomainName);
addr.s_addr = *(u_long *) remoteHost->h_addr_list[0];
cIPAddress = inet_ntoa(addr);
return cIPAddress;
}
Haben Sie die Hosts-Datei in '% windir% \ system32 \ drivers \ etc' überprüft? Wenn das Mapping dort erwähnt wird, gibt es die in der Datei erwähnte IP-Adresse zurück. – Naveen
@Naveen: Keine Zuordnung erfolgt. –