1.在目录D:/RMI/exe2下一次创建以下文件
1)TimeService.java
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface TimeService extends Remote
{
String getNowTime()throws RemoteException;
}
2)TimeServiceImpl.java
源代码如下:
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.util.Date;
import java.text.SimpleDateFormat;
public class TimeServiceImpl extends UnicastRemoteObject implements TimeService
{
private String name;
public TimeServiceImpl(String name)throws RemoteException{
this.name=name;
}
public String getNowTime() throws RemoteException
{
Date d=new Date(System.currentTimeMillis());
SimpleDateFormat f=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss:SSS");
return f.format(d).toString();
}
}
3)TimeServer.java 源代码如下:
import java.rmi.Naming;
import java.rmi.RemoteException;
public class TimeServer{
public static void main(String[]args) throws Exception
{
TimeServiceImpl ts=new TimeServiceImpl("Jack");
Naming.rebind("timeService",ts);
}
}
4)TimeClient.java 源代码如下
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RMISecurityManager;
import java.rmi.RemoteException;
public class TimeClient{
public static void main(String[]args) throws Exception
{
TimeService service=(TimeService)Naming.lookup("rmi://localhost:1099/timeService");
System.out.println("Server time:"+service.getNowTime());
}
}
2.创建好以上源文件后,编译它们,并且通过命令rmic TimeServiceImpl 生成文件TimeServiceImpl_Stub.class
3.启动RMI注册机
命令:
D:/RMI/exe2> start rmiregistry
4.启动服务器注册程序
命令如下:
D:/RMI/exe2> java TimeServer
5.启动客户端调用程序
D:/RMI/ext2>java TimeServer
窗口显示结果:
Server time:2010-04-23 03:51:23:637