谁能帮我解释一下rfc1035,特别是DNS查询的数据结构,最好能用vc帮我写出这个结构。

解决方案 »

  1.   

    GetIPAddress(const CString &sHostName, CString &sIPAddress)
    {
    WORD wVersionRequested;
    WSADATA wsaData;
    int err; 
    wVersionRequested = MAKEWORD( 2, 2 );
    err = WSAStartup( wVersionRequested, &wsaData );
    if ( err != 0 )
    {
    /* Tell the user that we could not find a usable */
    /* WinSock DLL.                                  */
    return 0;
    }
    struct hostent *lpHostEnt = gethostbyname (sHostName);
    if (lpHostEnt == NULL)
    {
    // An error occurred. 
    sIPAddress = _T("");
    return WSAGetLastError();
    } LPSTR lpAddr = lpHostEnt->h_addr_list[0];
    if (lpAddr) 
    {
    struct in_addr  inAddr;
    memmove (&inAddr, lpAddr, 4);
    sIPAddress = inet_ntoa (inAddr);
    if (sIPAddress.IsEmpty())
    sIPAddress = _T("Not available");
    }
    WSACleanup();
    return 1;
    }
    这是个根据域名查出IP的函数,可以吗