[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Nov 2004
    Beiträge
    331
    Moin,

    vieleicht etwas kompatibler:

    d P_Host S 128A

    d inet_addr PR 10U 0 ExtProc('inet_addr')
    d address_str * value options(*string)

    d INADDR_NONE C CONST(4294967295)

    d inet_ntoa PR * ExtProc('inet_ntoa')
    d internet_addr 10U 0 value

    d p_hostent S *
    d hostent DS Based(p_hostent)
    d h_name *
    d h_aliases *
    d h_addrtype 10I 0
    d h_length 10I 0
    d h_addr_list *
    d p_h_addr S * Based(h_addr_list)
    d h_addr S 10U 0 Based(p_h_addr)

    d gethostbyname PR * extproc('gethostbyname')
    d host_name * value options(*string)

    D IP S 10U 0

    P_Host = 'www.web.de ' ;
    IP = inet_addr(%trim(P_host)) ;

    If IP = INADDR_NONE ;
    p_hostent = gethostbyname(%trim(P_host)) ;
    If p_hostent <> *NULL ;
    IP = h_addr ;
    EndIf ;
    EndIf ;

    If IP = INADDR_NONE ;
    // Fehler
    Else ;
    // Kein Fehler
    EndIf ;
    *InLr = *On ;

    mfg

    DKSPROFI

  2. #2
    Registriert seit
    Nov 2004
    Beiträge
    331
    Moin,

    und nochmals Old School:
    H DFTACTGRP(*NO) ACTGRP(*NEW)

    D inet_addr PR 10U 0 ExtProc('inet_addr')
    D address_str * value options(*string)

    D INADDR_NONE C CONST(4294967295)

    D inet_ntoa PR * ExtProc('inet_ntoa')
    D internet_addr 10U 0 value

    D p_hostent S *
    D hostent DS Based(p_hostent)
    D h_name *
    D h_aliases *
    D h_addrtype 10I 0
    D h_length 10I 0
    D h_addr_list *
    D p_h_addr S * Based(h_addr_list)
    D h_addr S 10U 0 Based(p_h_addr)

    D gethostbyname PR * extproc('gethostbyname')
    D host_name * value options(*string)

    D host S 32A
    D IP S 10U 0
    D Msg S 50A

    c *entry plist
    c parm host

    c eval IP = inet_addr(%trim(host))

    c if IP = INADDR_NONE
    c eval p_hostent = gethostbyname(%trim(host))
    c if p_hostent <> *NULL
    c eval IP = h_addr
    c endif
    c endif

    c if IP = INADDR_NONE
    c eval Msg = 'Host not found!'
    c else
    c eval Msg = 'IP = ' + %str(inet_ntoa(IP))
    c endif

    c dsply Msg

    c eval *inlr = *on

    mfg

    DKSPROFI

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Nun, ein DNS-Server kann auch eine IP-Adresse "127.0.53.53" als gültige IP melden.
    Diese IP-Adresse gilt als sog. Konflikt-Adresse.
    Auf dieses Problem bin ich nun gestoßen, da es die neue Endung ".box" gibt.
    Da aber alle Fritzboxen nun intern generell als Domain "fritz.box" fest und nicht veränderbar eingestellt haben, liefert eine DNS-Auflösung nun grundsätzlich obige Adresse.
    Die tatsächlichen IP-Adressen sind nicht mehr erfragbar.

    Ja gut, hat mit dem Thema nur indirekt zu tun.
    Aber wenn ihr die obige Adresse erhaltet muss das nicht unbedingt falsch sein, auch wenn das gewünschte Ziel ohne Kenntnis der echten IP nicht mehr erreichbar ist.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. Antworten: 2
    Letzter Beitrag: 22-11-15, 09:19
  2. Antworten: 0
    Letzter Beitrag: 15-10-14, 12:43
  3. MAC Adresse einer Ethernetkarte
    By Uwe Kohlberg in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 21-08-08, 08:32
  4. Erstellen einer STMF mittels CL-Programm
    By systemer in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 19-02-03, 08:33
  5. IP-adresse einer 5250sitzung auffinden
    By karin-vogelmann in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 09-11-01, 15:10

Tags for this Thread

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •