我尝试着用RMI做了个很简单的程序,照着书本敲进去的!网上的很多例子我都照着弄了,没有一个是可以通过的,尤其是用rmiregistry来注册服务的时候,一敲这个命令就等待,根本没有反应,运行程序的时候老是出现下面的异常:
ArithImpl error:access denied (java.net.SocketPermission 192.168.0.8:1099 connect,resolve)
java.security.AccessControlException: access denied (java.net.SocketPermission 192.168.0.8:1099 connect,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.checkConnect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(Unknown Source)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(Unknown Source)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)
at sun.rmi.server.UnicastRef.newCall(Unknown Source)
at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
at java.rmi.Naming.rebind(Unknown Source)
at ArithImpl.main(ArithImpl.java:31)
要是那位大哥大姐知道,或是遇到类似问题的,给点提示啊!我用的WindowsXP,运行的时候关了防火墙和杀毒软件!大家贴个例子也可以,把命令也贴上,谢谢了啊

解决方案 »

  1.   

    rmiregistry是一个服务,就是没有反应,你可以使用start rmiregistry,打开一个新的cmd窗口。你是在两台机器上分别运行服务端和客户端的吗?
      

  2.   

    ArithImpl error:access denied (java.net.SocketPermission 192.168.0.8:1099 connect,resolve)
    java.security.AccessControlException: access denied (java.net.SocketPermission 192.168.0.8:1099 connect,resolve)是安全策略的问题,要设置一下.policy