⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guide.txt

📁 JAVA讲解课件
💻 TXT
字号:
1.
建立和编译服务接口的Java代码。这个接口定义了所有的提供远程服务的功能,
>javac Calculator.java
2.
接口的具体实现
>javac CalculatorImpl.java
3.
使用RMI编译器rmic来生成stub和Skeleton文件,这个编译运行在远程服务实现类文件上。
>rmic CalculatorImpl
在你的目录下运行上面的命令,成功执行完上面的命令你可以发现一个Calculator_stub.class文件,如果你是使用的Java2SDK,那么你还可以发现Calculator_Skel.class文件。
4.
主机服务器
>javac CalculatorServer.java
5.
客户端
>javac CalculatorClient.java
6.
运行RMI系统
    
    我们是在命令控制台下运行这个系统的,你必须开启三个控制台窗口,一个运行服务器,一个运行客户端,还有一个运行RMIRegistry。
首先运行注册程序RMIRegistry,你必须在包含你刚写的类的那么目录下运行这个注册程序。
>rmiregistry
     RMIRegistry是JAVA RMI的绑定程序。RMIRegistry的实例必须运行在每个包含远程对象的服务器计算机上。它维护着一张表,将文本格式的、URL风格的名字映射到包含在该计算机上的远程对象引。它通过Naming类的方法来存取,Naming类的方法以一个URL格式的字符串作为参数:
       //computername:port/objectname
     其中,computername和port指向RMIRegistry的地址。如果他们被省略。就认为是本地计算机和默认端口。

    好,这个命令成功的话,注册程序已经开始运行了,不要管他,现在切换到另外一个控制台,在第二个控制台里,我们运行服务器CalculatorService,因为RMI的安全机制将在服务端发生作用,所以你必须增加一条安全策略。以下是对应安全策略的例子 
grant {
permission java.security.AllPermission "", "";
};
  注意:这是一条最简单的安全策略,它允许任何人做任何事,对于你的更加关键性的应用,你必须指定更加详细安全策略。
  
    现在为了运行服务端,你需要除客户类(CalculatorClient.class)之外的所有的类文件。确认安全策略在policy.txt文件之后,使用如下命令来运行服务器。

  > java -Djava.security.policy=policy.txt CalculatorServer

  这个服务器就开始工作了,把接口的实现加载到内存等待客户端的联接。好现在切换到第三个控制台,启动我们的客户端。
  
    为了在其他的机器运行客户端程序你需要一个远程接口(Calculator.class) 和一个stub(CalculatorImpl_Stub.class)。 使用如下命令运行客户端

  > java -Djava.security.policy=policy.txt CalculatorClient

如果所有的这些都成功运行,你应该看到下面的输出:
  1
  9
  18
  3
  
    如果你看到了上面的输出,恭喜你,你成功了,你已经成功的创建了一个RMI系统,并且使他正确工作了。即使你运行在同一个计算机上,RMI还是使用了你的网络堆栈和TCP/IP去进行通讯,并且是运行在三个不同的Java虚拟机上。这已经是一个完整的RMI系统。

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -