bekomme ein Client/Server-Prog nicht zum Laufen - Quellcode ist richtig und
korrekt!
Benutze 1.3.1_01 und musste andere security.policy laden, die den Zugriff
des Client auf den Server erlaubt!
Inhalt der meine.policy:
grant
{
permission java.net.Socket.Permission "*:1024-", "connect, accept";
}
...damit der Client auf den Server zugreifen kann
meine.policy ist im security-Verzeichnis und wird wiefolgt geladen:
java -Djavy.security.policy=meine.policy ServerProgname
Das funktioniert auch, nachdem ich aber den Client starte, schreibt er
folgende Meldung beim Server:
Server-Adresse in Registratur: k2
Portnummer der Registratur: 7699
TimeServer in Regestry gebunden.
java.security.AccessControlException: access denied
(java.net.SocketPermission 169.254.29.141:1030 accept,resolve)
at java.security.AccessControlContext.checkPermission(Unknown
Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkAccept(Unknown Source)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.checkAcceptPermission(U
nknown Source)
at sun.rmi.transport.tcp.TCPTransport.checkAcceptPermission(Unknown
Source)
at sun.rmi.transport.Transport$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown
Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown
Source)
at java.lang.Thread.run(Unknown Source)
und folgende Meldung beim Client:
C:\TimeServer>java TimeClient k2
Client ist erfolgreich gestartet
Cliniet verbunden mit Serverrechner k2
Client exception: Error unmarshaling return header; nested exception is:
java.io.EOFException
java.rmi.UnmarshalException: Error unmarshaling return header; nested
exception
is:
java.io.EOFException
java.io.EOFException
at java.io.DataInputStream.readByte(DataInputStream.java:224)
at
sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:186)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:354)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at TimeClient.main(TimeClient.java:54)
Meine Vermutung ist, das irgendwas mit der meine.policy nicht stimmt, aber
was?
Danke für Hilfe!
René
Evtl. mal mit dem "poledit" von Java anschauen. Sieht aber ganz ok aus.
> java -Djavy.security.policymeine.policy ServerProgname
javy? java!
Warum gehst Du für den Anfang nicht auf Port 8080, oder 4444?
Das sollte per default gehen, ohne Policy.
cu
Thomas
------------------------------------------------------------------------
Immer auf dem aktuellen Stand mit den Newsgroups von freenet.de:
http://newsgroups.freenet.de
Policy-Files werden idR komplett qualifiziert:
-Djava.security.policy=c:\\test\\java.policy
Genau das wars! Danke
Der René