Zum Inhalt springen

gethostbyname Probleme mit dem Namen


_Faby_

Empfohlene Beiträge

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 von _Faby_
Link zu diesem Kommentar
Auf anderen Seiten teilen

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:
Link zu diesem Kommentar
Auf anderen Seiten teilen

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 -.-

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 von _Faby_
Link zu diesem Kommentar
Auf anderen Seiten teilen

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 von Gateway_man
Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...