_Faby_ Geschrieben 30. September 2011 Geschrieben 30. September 2011 (bearbeitet) Hallo zusammen, ich habe eine Frage zu gethostbyname... TCHAR* Nameee = _T("voyager.fritz.box"); hostent* res = ::gethostbyname(Nameee); also der name ist "voyager" und mein "server" fritz.box... wenn ich nach voyager in der cmd ping kommt -> Ping wird ausgeführt für voyager.fritz.box Daraus hatte ich geschlossen, dass das der richtige Name für die Funktion sei^^ ABER es funktioniert nich... Ich habe noch ein GetLastError gemacht mit dem ergebnis 10093 (WSANOTINITIALISED) was auch immer das bedeuten mag Ich nehm die Funktion her um ein Mailslot Programm -> und da will ich die IP von einem PC Namen bekommen Ich hoffe ich hab überhaupt die richtige Funktion :S Hoffentlich kann mir jmd helfen saß gestern den ganzen Abend dran und hab "alles" (anscheinend nicht alles sonst hätts ja funktioniert) probiert MfG Faby Bearbeitet 30. September 2011 von _Faby_ Zitieren
Klotzkopp Geschrieben 30. September 2011 Geschrieben 30. September 2011 Doku lesen hilft: WSANOTINITIALISED: A successful WSAStartup call must occur before using this function. Quelle: gethostbyname Function (Windows) Zitieren
_Faby_ Geschrieben 1. Oktober 2011 Autor Geschrieben 1. Oktober 2011 sch des hab ich schon gelesen und was BEDEUTET DAS??? Was is bitte ein WSA Startup?? Meinst echt ich Poste was ohne vorher stunden lang zu googln??? Zitieren
Klotzkopp Geschrieben 1. Oktober 2011 Geschrieben 1. Oktober 2011 sch des hab ich schon gelesen und was BEDEUTET DAS??? Das bedeutet, dass vorher ein erfolgreicher Aufruf von WSAStartup stattfinden muss. Was is bitte ein WSA Startup??Was WSAStartup ist, verrät dir ebenfalls die Dokumentation: WSAStartup function (Windows) Meinst echt ich Poste was ohne vorher stunden lang zu googln???Das googelt man eigentlich in 30 Sekunden. Erster Treffer für WSAStartup ist doch die Doku :confused: Zitieren
_Faby_ Geschrieben 2. Oktober 2011 Autor Geschrieben 2. Oktober 2011 Danke du bist so hilfreich -.- Hab mir die Doku NATÜRLICH noch nich angeschaut^^ Ich dachte eher das mir evtl IRGENDJEMAND helfen kann wie ich dieses WSAStartup machebzw was ich bei dem Versionsrequest ding reinschreiben muss... evtl hat ja jmd sowas schon gemacht und hat nen Beispielcode...^^ Für was muss ich die Winsock DLL inizialisieren wenn ich nicht mit sockets arbeite sondern mit Mailslots...??? Kann mir jmd bitte antworten ohne dumme sprüche?? DANKE -.- Zitieren
Klotzkopp Geschrieben 3. Oktober 2011 Geschrieben 3. Oktober 2011 Danke du bist so hilfreich -.- Hab mir die Doku NATÜRLICH noch nich angeschaut^^Ja, das merkt man. Alle deine Fragen werden dort beantwortet. Kann mir jmd bitte antworten ohne dumme sprüche??Ok, von mir erhältst du keine Hilfe mehr. Viel Erfolg noch. Zitieren
Gateway_man Geschrieben 4. Oktober 2011 Geschrieben 4. Oktober 2011 Für was muss ich die Winsock DLL inizialisieren wenn ich nicht mit sockets arbeite sondern mit Mailslots...??? Was glaubst du denn was gethostbyname macht? Das ist ne simple dns abfrage. Und über was denkst du wird diese Verbindung zum dns server hergestellt. Bingo einem Socket. Hier mal ein kleines Beispiel indem der domainname von Google aufgelöst wird. #include "stdafx.h" #pragma comment( lib, "ws2_32.lib" ) #include <winsock.h> #include <stdio.h> #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { WORD wVersionRequested; WSADATA wsaData; SOCKADDR_IN SockAddr; wVersionRequested = MAKEWORD (1,1); if(WSAStartup(wVersionRequested , &wsaData) != 0) { printf("WSAStartup() Error! \n"); return 1; } hostent* HostInfo = gethostbyname("www.google.com"); memcpy(&(SockAddr.sin_addr),HostInfo->h_addr,HostInfo->h_length); char* pIP = inet_ntoa(SockAddr.sin_addr); printf("IP Address: %s\n", pIP); WSACleanup(); cin.get(); return 0; } Anbei kann hier niemand was dafür wenn du heute früh keinen Kaffee bekommen hast..... lg Gateway Zitieren
_Faby_ Geschrieben 4. Oktober 2011 Autor Geschrieben 4. Oktober 2011 (bearbeitet) Ja der Tag war mistig^^ Mist, danke dann werd ich es wohl oder übel inizialisieren müssen^^... Naja nur MSDN links bringen mir halt nich viel, da ich die ja schon alle durch hab... Darauf das die Funktion mit Sockets arbeitet bin ich natürlich nich mitbekommen :upps :upps :upps :upps Naja danke auf jeden Fall Bearbeitet 4. Oktober 2011 von _Faby_ Zitieren
Gateway_man Geschrieben 4. Oktober 2011 Geschrieben 4. Oktober 2011 (bearbeitet) Das ist ja alles kein Problem nur nicht so gereizt reagieren . ... Naja nur MSDN links bringen mir halt nich viel, da ich die ja schon alle durch hab... Anbei noch ein kleiner Hinweis zu dieser Aussage. Ich hoffe doch das du dir folgendes zu herzen nimmst: Wenn du MSDN Einträge anschaust dann bitte nicht nur überfliegen. Auf dieser Seite die bereits von Klotzkopp gepostet wurde steht alles relevante was du wissen must. Auch dein beispielcode. Ungefähr ab hier wirds wohl interessant für dich: The following examples demonstrates the use of the gethostbyname function. Ich spare mir jetzt einfach mal das zitieren des Codes da er ja auf der Seite vorhanden ist. Die MSDN ist eine der besten Dokumentationen die ich bisher gesehn habe, da Sie eigentlich zu jeglichen Funktionen auch Beispielaufrufe angeben (neben der absolut umfangreichen Erklärung der Parameter sowie dem resultwert). Natürlich ist da auch oft einiges an Overhead in den Funktionen drin, dann must du für dich entscheiden was wichtig ist und das rauspicken. Aber die Beispiele dort sind einwandfrei. lg Gateway Bearbeitet 4. Oktober 2011 von Gateway_man 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.