您好,欢迎访问三七文档
计算机网络程序设计实验报告实验题目:RMI远程调用学院计算机学院专业网络工程班级网络121姓名学号2015年5月16日一、实验名称Rmi远程调用,实现几种算法。二、实验目的和要求熟悉和掌握JavaRMI编程的基本方法和步骤三、开发环境操作系统:WindowsXP开发工具:MyEclipseJava版本:jdk1.7四、实验内容和结果1、程序整体功能编写rmi客户端和服务器程序,服务器端提供加、减、乘、除四个远程接口,客户端通过RMI调用接口并传入参数,服务器端计算结果,返回给客户端,客户端显示这个值。2、设计思路说明1.编写并且编译接口的java代码2.编写并编译接口实现的Java代码;3.从接口实现类种生成桩和框架类文件;4.编写远程服务主程序;5.编写RMI的客户端程序;6.安装并且运行RMI系统。3、重要类、数据结构、模块/函数算法说明1.Cct接口类实现远程服务的功能2.CctIm类接口具体实现3.主机服务器CctServer4.客户端Client4、程序清单1.packagermi;importjava.rmi.Remote;publicinterfaceCctextendsRemote{publiclongadd(longa,longb)throwsjava.rmi.RemoteException;publiclongsub(longa,longb)throwsjava.rmi.RemoteException;publiclongmul(longa,longb)throwsjava.rmi.RemoteException;publiclongdiv(longa,longb)throwsjava.rmi.RemoteException;}2packagermi;importjava.rmi.RemoteException;importjava.rmi.server.UnicastRemoteObject;publicclassCctImextendsUnicastRemoteObjectimplementsCct{privatestaticfinallongserialVersionUID=1681907663574695011L;protectedCctIm()throwsRemoteException{super();//TODO自动生成的构造函数存根}publiclongadd(longa,longb)throwsjava.rmi.RemoteException{returna+b;}publiclongsub(longa,longb)throwsjava.rmi.RemoteException{returna-b;}publiclongmul(longa,longb)throwsjava.rmi.RemoteException{returna*b;}publiclongdiv(longa,longb)throwsjava.rmi.RemoteException{returna/b;}}3packagermi;importjava.rmi.Naming;importjava.rmi.registry.LocateRegistry;publicclassCctServer{publicCctServer(){try{LocateRegistry.createRegistry(1099);Cctc=newCctIm();Naming.rebind(rmi://localhost:/CctService,c);}catch(Exceptione){System.out.println(Trouble:+e);}}publicstaticvoidmain(Stringargs[]){newCctServer();}}4packagermi;importjava.net.MalformedURLException;importjava.rmi.Naming;importjava.rmi.NotBoundException;importjava.rmi.RemoteException;importjava.util.Scanner;publicclassClient{publicstaticvoidmain(String[]args){while(true){try{Cctc=(Cct)Naming.lookup(rmi://localhost/CctService);System.out.println(请输入您要计算的类型:);Stringa1=+;Stringa2=-;Stringa3=*;Stringa4=/;Stringa6=0;System.out.println(+-*/0);System.out.println(请输入运算符:);Scannera=newScanner(System.in);Stringa5=a.nextLine();longb=a.nextLong();longd=a.nextLong();if(a5.equals(a1))System.out.println(c.add(b,d));elseif(a5.equals(a2))System.out.println(c.sub(b,d));elseif(a5.equals(a3))System.out.println(c.mul(b,d));if(a5.equals(a4))System.out.println(c.div(b,d));elseif(a5.equals(a6))//System.out.println(程序结束!);System.exit(0);}catch(RemoteException|MalformedURLException|NotBoundExceptionre){System.out.println();System.out.println(remoteException);System.out.println(true);}}}}五、实验运行及测试结果六、实验中的问题及心得实验中存在很多问题,只有慢慢尝试才能得出结论,实验就得自己去尝试。希望自己多参与到实验中。
本文标题:rmi实验
链接地址:https://www.777doc.com/doc-6087061 .html