: 액세스 거부 (낸다 java.net.SocketPermission는 127.0.0.1:1099는 연결, 해결)RMI 액세스 거부 오류 모든 시간
지금 내가 읽어을 구글은 새로운 정책 파일을 cerating에 대해 뭔가를하지만 정말 그렇게하는 방법을 이해하지 못해 누군가 나를 기쁘게 할 수 있습니까?
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.RMISecurityManager;
import java.rmi.server.UnicastRemoteObject;
import java.rmi.registry.*;
import java.security.Permission;
import java.security.Security;
public class RmiServer extends UnicastRemoteObject
implements RmiServerIntf
{
public static final String MESSAGE = "Hello world";
public RmiServer() throws RemoteException
{
}
public String getMessage()
{
return MESSAGE;
}
public static void main(String args[])
{
System.out.println("RMI server started");
// Create and install a security manager
if (System.getSecurityManager() == null)
{
System.setSecurityManager(new RMISecurityManager());
System.out.println("Security manager installed.");
}
else
{
System.out.println("Security manager already exists.");
}
try
{ //special exception handler for registry creation
LocateRegistry.createRegistry(1099);
System.out.println("java RMI registry created.");
}
catch (RemoteException e)
{
//do nothing, error means registry already exists
System.out.println("java RMI registry already exists.");
}
try
{
//Instantiate RmiServer
RmiServer obj = new RmiServer();
// Bind this object instance to the name "RmiServer"
Naming.rebind("//localhost/RmiServer", obj);
System.out.println("PeerServer bound in registry");
}
catch (Exception e)
{
System.err.println("RMI server exception:" + e);
e.printStackTrace();
}
}
}
난 그냥 있는지 확인하는 것입니다 RMI..this에게 코드를 사용하여 자바에서 계산기를 쓰고을 내 서버가 작동 중입니다. 어떻게 해결해야한다고 생각하십니까? (내 계산기 코드가 준비되어 있고 RMI 만 사용하면됩니다.) – eran10
@ user1364528 확실하게 해결하는 방법은 내 대답에 암시 적입니까? SecurityManager를 제거하거나 .policy 파일에 해당 권한을 추가하십시오. – EJP
당신이 맞았 어 :) 고마워. :) – eran10