Ab 1.4 komme ich nicht mehr auf Client Name. Spinnen die bei SUN???
-
Der Server führt eine LOG Datei d.h. beim jedem neuen Verbindung sind die Verbindung Eigenschaften gespeichert ...
Bis JRE 1.3 hat alles funktioniert, ab 1.4 haben wir festgestellt es wird keine Client Rechner Name mehr gespeichert - was soll das ganze, kennt jemand das Problem? oder handelt sich wieder um ein SUN-BUG
JRE 1.3.05
Socket[addr=NT/192.168.65.1,port=1039,localport=1038]JRE 1.4.1
Socket[addr=/192.168.65.1,port=1034,localport=1033]SYNTAX:
serverSocket = new ServerSocket( port ); // usw. clientSocket = serverSocket.accept(); // usw. System.out.println( clientSocket..toString() );
Prog40
-
Cengiz?
-
Ja?
-
Hattest du gerade hier was reingeschrieben und sofort wieder gelöscht? Dein Name stand im Forumsindex
-
Ja hatte ich aber dann hab ich gesehen dass er einen Output auch noch gepastet hat. Dachte es wär ein Syntaxfehler (wegen den zwei Punkten vor toString)
-
Also ... zur Lösung des "Problems":
Nach dem accept musst du auf den ClientSocket getInetAddress aufrufen und auf dieses wiederum getHostName ... dann haste den Namen des Hosts ...
[java]import java.net.*;public class Server {
public static void main (String args[]) {
ServerSocket socket = null;
Socket client = null;
InetAddress clientAddress=null;try {
socket = new ServerSocket(32000);
client = socket.accept();
clientAddress = client.getInetAddress();
System.out.println("Connection from: "+clientAddress.getHostName());
} catch (java.io.IOException ioex) {
ioex.printStackTrace();
}
}
}[/code][Edit] Die Klasse sollte natürlich Server heißen [/Edit]
[b]Nachtrag: Es sieht so aus als ob beim JDK >=1.4 der Hostname erst NACH client.getInetAddress() aufgelöst und in toString angezeigt wird...[ Dieser Beitrag wurde am 22.05.2003 um 14:00 Uhr von CengizS editiert. ]
-
Danke Dir ...
Eigentlich sollte ich selber auf die Antwort kommen müssen, aber ich war einfach nach dem update zu sauer um nachzudenkenmfg.
Prog40