karim-wiesbaden Geschrieben 18. November 2008 Geschrieben 18. November 2008 Hallo, bin ich der Anfänger, bei der Netzprogrammierung und muss eine Weise finden, die IP address und MacAdresse von Web Server(externen computer) zu zeigen . Ich betrachtete Lösung des Erhaltens MAC und des subnet mask der Maschine und führe einige Spitzenbetriebe durch. Ich habe bereits den Code gefunden, um das MAC address des lokalen Rechners zu erhalten.mit Anwendung der funktion GetAdapterInfo case TAG_MAC1: { IP_ADAPTER_INFO AdapterInfo[16]; DWORD dwBufLen = sizeof(AdapterInfo); DWORD dwStatus = GetAdaptersInfo( AdapterInfo, &dwBufLen); ASSERT(dwStatus == ERROR_SUCCESS); PIP_ADAPTER_INFO pAdapterInfo = AdapterInfo; char addrbuf[64]; sprintf(addrbuf, "%X:%X:%X:%X:%X:%X:%X:%X" pAdapterInfo->Address[0], pAdapterInfo->Address[1], pAdapterInfo->Address[2], pAdapterInfo->Address[3], pAdapterInfo->Address[4], pAdapterInfo->Address[5], pAdapterInfo->Address[6], pAdapterInfo->Address[7]); strncpy(procTag, addrbuf, sizeProcTag); } return true aber haben Sie noch keine Idee, wie man ein subnet mask erhält. Ich würde für alle mögliche Vorschläge dankbar sein Zitieren
TDM Geschrieben 18. November 2008 Geschrieben 18. November 2008 typedef struct _IP_ADAPTER_INFO { struct _IP_ADAPTER_INFO *Next; DWORD ComboIndex; char AdapterName[MAX_ADAPTER_NAME_LENGTH + 4]; char Description[MAX_ADAPTER_DESCRIPTION_LENGTH + 4]; UINT AddressLength; BYTE Address[MAX_ADAPTER_ADDRESS_LENGTH]; DWORD Index; UINT Type; UINT DhcpEnabled; PIP_ADDR_STRING CurrentIpAddress; IP_ADDR_STRING IpAddressList; IP_ADDR_STRING GatewayList; IP_ADDR_STRING DhcpServer; BOOL HaveWins; IP_ADDR_STRING PrimaryWinsServer; IP_ADDR_STRING SecondaryWinsServer; time_t LeaseObtained; time_t LeaseExpires; } IP_ADAPTER_INFO, *PIP_ADAPTER_INFO; typedef struct _IP_ADDR_STRING { struct _IP_ADDR_STRING *Next; IP_ADDRESS_STRING IpAddress; [COLOR="Red"]IP_MASK_STRING IpMask;[/COLOR] DWORD Context; } IP_ADDR_STRING, *PIP_ADDR_STRING; IpMask - A value that specifies a structure type with a single member, String. The String member is a char array of size 16. This array holds the IPv4 subnet mask in dotted decimal notation. Zitieren
karim-wiesbaden Geschrieben 18. November 2008 Autor Geschrieben 18. November 2008 wie heisst diese funkition Zitieren
TDM Geschrieben 18. November 2008 Geschrieben 18. November 2008 Nix Funktion, (public) Member. Ich bin immernoch dafür, dass du zu erst Grundlagen erarbeitest. Zitieren
Klotzkopp Geschrieben 18. November 2008 Geschrieben 18. November 2008 wie heisst diese funkition Die Funktion ist dieselbe, die du bereits für die MAC-Adresse benutzt. Zitieren
karim-wiesbaden Geschrieben 18. November 2008 Autor Geschrieben 18. November 2008 die GetAdapterInfo mit den gleichen Varianten Iphlpapi.h Iphlpapi.lib wenn ja ob ich das noch deklarieren muss oder nicht Zitieren
Klotzkopp Geschrieben 18. November 2008 Geschrieben 18. November 2008 Ich verstehe dich nicht. Soll das eine Frage sein? Zitieren
karim-wiesbaden Geschrieben 18. November 2008 Autor Geschrieben 18. November 2008 du meinnst die GetAdapterInfo mit den gleichen Varianten Iphlpapi.h Iphlpapi.lib die frage:soll ich Header-und Library Datein noch mal deklerieren oder einmal reicht Zitieren
TDM Geschrieben 18. November 2008 Geschrieben 18. November 2008 dein Code: IP_ADAPTER_INFO AdapterInfo[16]; DWORD dwBufLen = sizeof(AdapterInfo); DWORD dwStatus = GetAdaptersInfo( AdapterInfo, &dwBufLen); ASSERT(dwStatus == ERROR_SUCCESS); PIP_ADAPTER_INFO [B]pAdapterInfo[/B] = AdapterInfo; dann: Aus pAdapterInfo einfach den Wert rausholen. :rolleyes::rolleyes: Zitieren
karim-wiesbaden Geschrieben 18. November 2008 Autor Geschrieben 18. November 2008 (bearbeitet) das ist aber das gleiche was ich oben geschrieben habe, bein Aufruf der MAC. soll das so heissen #include"Iphlpapi.h" case { IP_ADAPTER_INFO AdapterInfo[16]; DWORD dwBufLen = sizeof(AdapterInfo); DWORD dwStatus = GetAdaptersInfo( AdapterInfo, &dwBufLen); ASSERT(dwStatus == ERROR_SUCCESS); PIP_ADAPTER_INFO pAdapterInfo = AdapterInfo } return true; Bearbeitet 18. November 2008 von karim-wiesbaden Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.