Domino 9 und frühere Versionen > Entwicklung
IP Adresse des Users herausbekommen
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