客户端:
//DisplayPerfectTime.java //Users remote object PerfectTime // package test; import java.rmi.*; import java.rmi.registry.*; public class DisplayPerfectTime { /*** DisplayPerfectTime 构造子注解。*/ public DisplayPerfectTime() { super(); } public static void main(String[] args) {
System.setSecurityManager(new RMISecurityManager());
try {
PerfectTimeI t = (PerfectTimeI) Naming.lookup("PerfectTime");
System.out.print(t);
for (int i = 0; i < 10; i++) {
System.out.println("PerfectTime:" + t.getPerfectTime());
}
} catch (Exception e) {
e.printStackTrace();
}
}} //服务器端://PerfectTime.java //The implementation of the PerfectTime remote object // package test; import java.net.*; import java.rmi.*; import java.rmi.registry.*; import java.rmi.server.*; public class PerfectTime extends UnicastRemoteObject implements PerfectTimeI
{
//默认构件器,也要“掷”出RemoteException违例。 public PerfectTime() throws RemoteException
{
super();
} public long getPerfectTime() throws RemoteException
{
return System.currentTimeMillis();
} public static void main(String[] args) {
/*创建和安装一个安全管理器,令其支持RMI.作为Java开发包的一部分,适用于RMI唯一一个是RMISecurityManager.*/
System.setSecurityManager(new RMISecurityManager());
try {
/*创建远程对象的一个或多个实例,下面是PerfectTime对象*/
PerfectTime pt = new PerfectTime();
/*向RMI远程对象注册表注册至少一个远程对象。一个远程对象拥有的方法即可生成指向其他远程对象的句柄,
这样,客户到注册表里访问一次,得到第一个远程对象即可.*/
Naming.bind("PerfectTime", pt);
System.out.println("Ready to do Time");
} catch (Exception e) {
e.printStackTrace();
}
}
}
//DisplayPerfectTime.java //Users remote object PerfectTime // package test; import java.rmi.*; import java.rmi.registry.*; public class DisplayPerfectTime { /*** DisplayPerfectTime 构造子注解。*/ public DisplayPerfectTime() { super(); } public static void main(String[] args) {
System.setSecurityManager(new RMISecurityManager());
try {
PerfectTimeI t = (PerfectTimeI) Naming.lookup("PerfectTime");
System.out.print(t);
for (int i = 0; i < 10; i++) {
System.out.println("PerfectTime:" + t.getPerfectTime());
}
} catch (Exception e) {
e.printStackTrace();
}
}} //服务器端://PerfectTime.java //The implementation of the PerfectTime remote object // package test; import java.net.*; import java.rmi.*; import java.rmi.registry.*; import java.rmi.server.*; public class PerfectTime extends UnicastRemoteObject implements PerfectTimeI
{
//默认构件器,也要“掷”出RemoteException违例。 public PerfectTime() throws RemoteException
{
super();
} public long getPerfectTime() throws RemoteException
{
return System.currentTimeMillis();
} public static void main(String[] args) {
/*创建和安装一个安全管理器,令其支持RMI.作为Java开发包的一部分,适用于RMI唯一一个是RMISecurityManager.*/
System.setSecurityManager(new RMISecurityManager());
try {
/*创建远程对象的一个或多个实例,下面是PerfectTime对象*/
PerfectTime pt = new PerfectTime();
/*向RMI远程对象注册表注册至少一个远程对象。一个远程对象拥有的方法即可生成指向其他远程对象的句柄,
这样,客户到注册表里访问一次,得到第一个远程对象即可.*/
Naming.bind("PerfectTime", pt);
System.out.println("Ready to do Time");
} catch (Exception e) {
e.printStackTrace();
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货