Hướng dẫn làm bài Click để xem //java class library Bước 1 : Tạo rmilibs Bước 2: CODE: Select All package rmi.libs;import java.rmi.Remote;import java.rmi.RemoteException;public interface tichcacso extends Remote{ public int add(int n) throws RemoteException;} //Java Application Bước 1: tạo rmiserver Bước 2: Tạo 2 class Tính Toán(lớp phụ) và Server(lớp chính) CODE: Select All package rmi.server;import java.rmi.RemoteException;import java.rmi.server.UnicastRemoteObject;import rmi.libs.tichcacso;public class TinhToan extends UnicastRemoteObject implements tichcacso{ public TinhToan() throws RemoteException { } public int add(int n) throws RemoteException { int s = 1; for(int i = 1; i<= n; i ++) { s = s + i; } return s; }} Bước 2: kết nối rmiserver với rmilibs tiếp tục tạo Server như TinhToan bên trên CODE: Select All package rmi.server;import java.net.MalformedURLException;import java.rmi.Naming;import java.rmi.Remote;import java.rmi.RemoteException;import java.rmi.registry.LocateRegistry;import java.rmi.registry.Registry;import java.util.logging.Level;import java.util.logging.Logger;public class Server { public static void main(String[] args) throws MalformedURLException { new Server().run(); } private void run() throws MalformedURLException{ int port= 6394; try { TinhToan tt=new TinhToan(); Registry registry=LocateRegistry.createRegistry(port); Naming.rebind("rmi://localhost:"+port+"/TinhToan", (Remote) tt); System.out.println(" server dang chay...."); } catch (RemoteException ex) { Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex); } } } Bước 4: Tạo tiếp rmiclient tương tự hình ảnh của rmiserver Bước 5: Tạo class Client(lớp chính)(tương tự như Server) CODE: Select All package rmiclient;import java.net.MalformedURLException;import java.rmi.Naming;import java.rmi.NotBoundException;import java.rmi.RemoteException;import java.util.logging.Level;import java.util.logging.Logger;import rmi.libs.tichcacso;public class Client { public static void main(String[] args) { new Client().run(); } private void run(){ int port=6394; int n; try { tongcacso nt=(tongcacso) Naming.lookup("rmi://localhost:"+port+"/TinhToan"); int a=10; System.out.print(" tích các số= "+nt.add(a)); } catch (NotBoundException ex) { Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex); } catch (MalformedURLException ex) { Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex); } catch (RemoteException ex) { Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex); } } bước 6: Kết nối rmiclient với rmilibs(tương tự rmiserver) Kết quả: chạy server chạy client