Anzeige:
Ergebnis 1 bis 4 von 4

Thema: Alternative zu inet_addr für Sockets

  1. #1
    Registrierter Benutzer
    Registriert seit
    26.05.2004
    Ort
    Ba-Wü
    Beiträge
    11

    Question Alternative zu inet_addr für Sockets

    Hallo,
    ich programmiere gerade mit Sockets in C/C++. Allerdings kann ich die Adresse des Servers nur als IP-Adresse angeben und nicht als Hostname. Ich denke mal, dass das an dieser Zeile liegt:

    servaddr.sin_addr.s_addr=inet_addr(ipaddr);

    Und jetzt frage ich mich, ob es vielleicht eine Alternative zu inet_addr gibt, mit der ich auch Hostnamen angeben kann. Kennt da jemand etwas?

    Edit: Oder gibt es eine Funktion, mit der man Hostnamen in IP-Adressen umwandeln kann?
    Geändert von AlienSearcher (28-05-2004 um 11:42 Uhr)
    C/C++ Programmierer

  2. #2
    Registrierter Benutzer
    Registriert seit
    24.12.2001
    Ort
    anywhere before EOF
    Beiträge
    236
    Hmm, bin mir jetzt nicht 100% ig sicher, aber inet_aton() müsste es auch in den C Standard-Libs geben, damit kannst du nen Hostnamen in IP-Adressen umwandeln.
    chmod -R +t /*

  3. #3
    Registrierter Benutzer Avatar von Trillian
    Registriert seit
    26.04.2001
    Beiträge
    180
    Nee, inet_aton() kann nur IP-Adressen in ein struct in_addr kopieren.

    Tu so:
    Code:
    struct sockaddr_in addr;
    struct hostent *host;
    
    host = gethostbyname("mein.hostname.de");
    addr.sin_addr = * (struct in_addr *) host->h_addr;

  4. #4
    Registrierter Benutzer
    Registriert seit
    26.05.2004
    Ort
    Ba-Wü
    Beiträge
    11
    Original geschrieben von Trillian
    Nee, inet_aton() kann nur IP-Adressen in ein struct in_addr kopieren.

    Tu so:
    Code:
    struct sockaddr_in addr;
    struct hostent *host;
    
    host = gethostbyname("mein.hostname.de");
    addr.sin_addr = * (struct in_addr *) host->h_addr;
    Danke, das ist genau das, was ich brauche Funktioniert einwandfrei.

    MfG AlienSearcher
    C/C++ Programmierer

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •