Toon posts:

[c++] host name naar ip

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een vraag over het omzetten van een hostname in een ip adres. Ik gebruik hiervoor de volgende code, maar ik krijg bij de functie gethostbyname telkens een NULL als return. Hoe kan dit?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
AnsiString __fastcall TMainForm::ResolveHostToIP(AnsiString strHost)
{
  AnsiString strRet = "";
  unsigned long ulIP;
  hostent* phostent;
  LPSTR szAddr;
  struct in_addr inetAddr;

  phostent = gethostbyname(strHost.c_str());
  if (phostent == NULL)
  {
    strRet = "127.0.0.1";
    return strRet;
  }

  ulIP = *(DWORD*)(*phostent->h_addr_list);
  inetAddr.s_addr = ulIP;
  szAddr = inet_ntoa(inetAddr);
  strRet = szAddr;
  return strRet;
}

  • SWfreak
  • Registratie: Juni 2001
  • Niet online
Heb je al mbv WSAGetLastError() geprobeerd op te vragen wat de precieze fout is? Op MSDN kun je lezen wat de betekenis is van de return-waarde van GetLastError voor gethostbyname. Een simpel iets wat je zo al kunt testen is of je wel WSAStartup hebt aangeroepen voor gethostbyname.

edit:

opm van curry meegenomen, had iets te snel in MSDN gelezen

[ Voor 15% gewijzigd door SWfreak op 24-09-2003 12:23 ]


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

SWfreak schreef op 24 September 2003 @ 11:30:
Heb je al mbv GetLastError() [...knip...]
WSAGetLastError() dus aub, en het zal wsch idd WSAENOTSTARTED opleveren gok ik :)

Professionele website nodig?