import java.rmi.Naming;        
import java.rmi.RemoteException;        
import java.net.MalformedURLException;     
import java.rmi.NotBoundException;     public class OutputnameClient {   public static void main(String args[])
  {
  try{
  Outputname c=(Outputname)Naming.lookup("rmi://192.168.1.77/OutputnameService");
System.out.println(c.print());   
  
  }catch(MalformedURLException murle){
 System.out.println();  
 System.out.println("MalformedURLException"); 
     System.out.println(murle);       
     }
  catch (RemoteException re) {     
    System.out.println();        
                System.out.println("RemoteException");     
   System.out.println(re);     
  }     
  catch (NotBoundException nbe) {     
    System.out.println();     
  System.out.println("NotBoundException");     
    System.out.println(nbe);     
 }     
      catch (java.lang.ArithmeticException ae) {     
System.out.println();     
        System.out.println("java.lang.ArithmeticException");     
    System.out.println(ae);     
 }        }
}当执行到:
 Outputname c=(Outputname)Naming.lookup("rmi://192.168.1.77/OutputnameService");
出现异常 :java.net.ConnectionException:Connection refused:connect
本地没问题

解决方案 »

  1.   

    http://hi.baidu.com/freish/blog/item/9f59dc007d825e1b728b65d7.html
    xp上的host文件在Windows/System32/driver/etc里,是个系统隐藏文件
      

  2.   

    java.net.ConnectionException:Connection refused:connect
    连接拒绝~查看服务器配置~
      

  3.   

    请楼主参阅java core 分布式编程那部分。我记得应该涉及到授权。
      

  4.   

    记得RMI默认的是9008端口,在你的服务端用netstat -na|grep 9008查看端口知否在监听另外Outputname类暴露的接口是怎样的?
      

  5.   

    rmi编程:
    程序正确完成后,还要做的事情:
    1、rmic生成stub,虽然有的资料说jdk1.5后的不用,但我自己的经验是要,但是只生成stub,不生成skeleton。
    2、要用policytool生成安全文件,保存到C:\Documents and Settings\administrator下,文件名为.java.policyno。很多资料上说添加到jre的lib\security\java.policyno下,我没成功过。....
    3、客户端:System.setSecurityManager(new RMISecurityManager());
    GuessTheCapitalServer guessTheCapitalServer = (GuessTheCapitalServer) Naming.lookup("//" + yourserverIp + "/GuessTheCapitalServer");如果没有.java.policyno,System.setSecurityManager(new RMISecurityManager())会报错。