rmi的调用问题,大家来看看,谢谢各位高手

fieldsun fieldsun 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
小弟些了一个rmi的测试,除了一些问题,请大家看看

1。
//================RmtServer.java==========================================================================//
//功能:定义远程接口RmtServer;
//============================================start=======================================================//


import java.rmi.*;
import java.util.*;


public interface RmtServer extends Remote
{
public String getUsername() throws RemoteException;
public String getPassword() throws RemoteException;
public void setUsername(String user) throws RemoteException;
}


//=============================================end=========================================================//



2。
//================MyServer.java==========================================================================//
//功能:实现远程接口和服务器,是RMI服务器端程序
//============================================start=======================================================//


import java.rmi.*;
import java.util.*;


public class MyServer extends java.rmi.server.UnicastRemoteObject implements RmtServer
{
private String username=null;
private String password=null;
public MyServer() throws RemoteException //类的构造函数
{
super();

}

public void setUsername(String user) //输入用户名方法
{
this.username=user;
/*

实现用户名的判断和密码的提取

*/
}

public String getUsername() //获取用户名方法
{
return this.username;
}

public String getPassword() //获取密码方法
{
return this.password;
}


public static void main(String args[]) //main()函数实现服务器
{
/*if(System.getSecurityManager()==null)
{
System.setSecurityManager(new RMISecurityManager());
}*/

try
{

RmtServer server = new MyServer();
Naming.rebind("//127.0.0.1/MyServer", server);
}

catch(java.io.IOException e)
{
e.printStackTrace();
}



}
}


//=============================================end=========================================================//


3。
//================InputUsername.java==========================================================================//
//功能:客户端端程序
//============================================start=======================================================//


import java.rmi.*;
import java.util.*;


public class InputUsername
{
private String username=null;
private String password=null;
public static void main(String[]args) throws RemoteException
{
new InputUsername(args[0],args[1]);
}

public InputUsername(String hostname,String user)

{

try
{
RmtServer server = (RmtServer)
Naming.lookup("rmi://"+hostname+"/MyServer");
server.setUsername(user);
this.username=server.getUsername();
this.password=server.getPassword();
System.out.println("this is a test,username is:");
System.out.println(server.getUsername());
System.out.println("this is a test,password is:");
System.out.println(server.getPassword());

}
catch(java.io.IOException e)
{
e.printStackTrace();
}
catch(NotBoundException e)
{
e.printStackTrace();
}
}


public String getUser() //获取用户名方法
{
return this.username;
}


public String getPass() //获取密码方法
{
return this.password;
}





}


//=============================================end=========================================================//


问题1:在本机调试能通过,但是在别的机子上就不通过。
问题2:还有在服务器程序中加上我注释的那段代码,编译通过,但运行汇报错是连接被拒绝。
问题3:我向在web服务上调用客户端程序,如何实现?客户端的类放哪儿,是否需要设置?
如果有这方面的文档,能否给我发email:gststxc@163.com
谢谢各位兄弟!!!
...全文
评论 4
收藏 已收藏
分享
返回顶部
fieldsun
Java EE 67,535 成员 225,843 内容