Domino 9 und frühere Versionen > Entwicklung

IP Adresse des Users herausbekommen

(1/2) > >>

Axel Janssen temp:
Hi,

sollte in Java gehen, ist aber vermutlich overkill.
Gibt es einfache Möglichkeiten mit Formelsprache oder Script das herauszubekommen?
Oder mit diesen VB-Objekten, die man einbinden kann?

Gruße

eknori:
in die Deklarationen

Type HOSTENT
   hName As Long
   hAliases As Long
   hAddrType As Integer
   hLen As Integer
   hAddrList As Long
End Type

Declare Function gethostname Lib "WSOCK32.DLL" (Byval szHost As String, Byval dwHostLen As Long) As Long
Declare Function gethostbyname Lib "WSOCK32.DLL" (Byval szHost As String) As Long
Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (hpvDest As Any, Byval hpvSource As Long, Byval cbCopy As Long)

und ins Click

Sub Click(Source As Button)
   Dim HostName As String * 256
   Dim HostPointer As Long
   Dim HostStruct As HOSTENT
   Dim HostAddressPointer As Long
   Dim HostAddress As Long
   Dim AddressNum As String
   Dim Address As String
   
   gethostname HostName, 256
   HostName = Trim(HostName)
   HostPointer = gethostbyname(HostName)
   
   CopyMemory HostStruct, HostPointer, Len(HostStruct)
   CopyMemory HostAddressPointer, HostStruct.hAddrList, 4
   CopyMemory HostAddress, HostAddressPointer, 4
   
   AddressNum = Trim(Hex(HostAddress))
   AddressNum = String(8-Len(AddressNum), Asc("0")) & AddressNum
   
   Address = Cstr(Cint("&H" & Mid(AddressNum, 7))) & "." & Cstr(Cint("&H" & Mid(AddressNum, 5, 2))) & "." & Cstr(Cint("&H" & Mid(AddressNum, 3, 2))) & "." & Cstr(Cint("&H" & Left(AddressNum, 2)))
   Msgbox Address
End Sub

aber ob das jetzt einfacher ist ??

ach ja, wir hatten das auch mal als Klasse  http://www.eknori.de/downloads/cSysInfo.zip

da sind dann noch ein paar Funktionen mehr drin.

Axel Janssen temp:
Eknori,

wenn ich jetzt richtig gekopfrechnet habe waren das 6 min 44 sec.  8)
Du mußt ein echt gutes Ablagesystem haben.

Ich weiß keinen einfachen Weg mit Java.
 
Geh mir mal meinen Ruf als halbwegs kompetent auf Javaranch versauen. ;D
Poste dann Antwort hier


thnx.
 
Axel

eknori:
öhm, nu r zur Sicherheit: sollte das jetzt für den Client oder fürs Web sein ??

Axel Janssen temp:
Es ist einfacher in Java.

Habs selbst rausgefunden:


--- Code: ---// oben in Import-Teil:
import java.net.*;

[... stuff ...]
String myIP = InetAddress.getLocalHost().getHostAddress() .toString();
System.out.println("IP=" + myIP);   
[... stuff ...]

--- Ende Code ---

Habs mich selbst in Javaranch beantwortet und es nicht gelöscht.
O.k. es ist relativ basic.
Aber bei dieser Inflation an Apis kann keiner mehr durchblicken ::)

Das ist echt ein Problem.

Z.B. benutze ich für HTTPSocketConnections einen klitzekleines Fitzelchen eines riesigen P2P-frameworks namens Brazil, weil die java.net.URLConnections in Versionen <1.4 Macken haben.

Sowas erfährt man btw. leider auch nicht bei Sun direkt. >:(


Gruß Axel

All's Verbrescher

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln