Jeg har haft den samme problem og fandt en delvis løsning. Du kan hente IP nummeret fra registrerings-basen via Delphi (faktisk kan du hente en del nyttige oplysninger derfra). Problemet er bare at det ikke er den samme adresse du skal hente IP nummeret fra hvis du bruger windows 98 frem for windows NT...
function GetLocalHostName: string; var szHostName: array[0..128] of char; begin if gethostname(szHostName, 128) = 0 then Result:= szHostName else Exception.Create( \'Unable to resolvve local host name !!!\');
end;
function GetLocalHostAddress: string; var SockAddrIn: TSockAddrIn; HostEnt: PHostEnt; szHostName: array[0..128] of char; begin if gethostname(szHostName, 128) = 0 then begin HostEnt:= gethostbyname(szHostName); if HostEnt = nil then Result:= \'\' else begin SockAddrIn.sin_addr.S_addr:= longint(plongint(HostEnt^.h_addr_list^)^); Result:= inet_ntoa(SockAddrIn.sin_addr); end; end else Exception.Create( \'Unable to resolvve local host address !!!\'); end;
mora> Du skriver at den eksterne er den verden ser og den interne er den der ses på LAN netværket, men den ip du ser på LAN netværket er da den samme som den verden ser, computeren får jo ikke en ip som ses af verden og en anden ip for dem der er på LAN netværket
Min computer på LAN har 192.168.1.2 Men den IP der går ind til LAN fra WAN kan af gode grunde ikke være 192.168.1.2, vel?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.