Hej Udviklere,
Jeg ved at lave et script som laver et dns opslag på en dns navn, og så skal den oversætte den til IP-adresse.
Jeg har følgende kode:
IPAddress.h
#if !defined(IPADDRESS_H)
#define IPADDRESS_H
#include "Types.h"
#include <string>
#include <vector>
#include <winsock2.h>
class IPAddress
{
public:
void Lookup(std::string host, std::string &adr);
};
#endif
[/code}
IPAddress.cpp
#include "IPAddress.h"
#include "NetException.h"
#include "UnknownHostException.h"
#include <windows.h>
void IPAddress::Lookup(std::string host, std::string &adr)
{
struct hostent *adr;
adr = gethostbyname(host.c_str());
if(adr = NULL)
{
LPVOID lpMsgBuf;
int err = WSAGetLastError();
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
err,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPSTR) lpMsgBuf,
0,
NULL);
std::string description((char*)lpMsgBuf);
LocalFree(lpMsgBuf);
switch(err)
{
case WSAHOST_NOT_FOUND:
throw UnknownHostException(description);
break;
default:
throw NetException(description);
break;
}
}
}
Hvad gør jeg forkert???