Hướng dẫn làm bài bằng hình ảnh Click để xem: [B]Hướng dẫn làm bài[/B] //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 tong2so extends Remote{ public int add(int x, int y) 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.tong2so;public class TinhToan extends UnicastRemoteObject implements tong2so{ public TinhToan() throws RemoteException { } public int add(int x, int y) throws RemoteException { return(x+y); }} tiếp tục tạo lớp Server như TínhToán CODE: Select All package rmi.server;import java.net.MalformedURLException;import java.rmi.Naming;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) { new Server().run(); } private void run(){ int port= 6394; try { TinhToan tt=new TinhToan(); Registry registry=LocateRegistry.createRegistry(port); Naming.rebind("rmi://localhost:"+port+"/TinhToan", tt); System.out.println(" server dang chay...."); } catch (RemoteException ex) { Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex); } catch (MalformedURLException ex) { Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex); } }} Bước 3: kết nối rmiserver với rmilibs 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 rmi.client;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.tong2so;public class Client { public static void main(String[] args) { new Client().run(); } private void run(){ int port=6394; int n; try { tong2so nt=(tong2so) Naming.lookup("rmi://localhost:"+port+"/TinhToan"); int a=10; int b=20; System.out.print(" tong= "+nt.add(a, b)); } 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 Hướng dẫn bằng video Click để xem