Hướng dẫn làm bài Click để xem 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 tich2so 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.tich2so;public class TinhToan extends UnicastRemoteObject implements tich2so{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.tich2so;public class Client { public static void main(String[] args) { new Client().run(); } private void run(){int port=6394;int n; try {tich2so nt=(tich2so) Naming.lookup("rmi://localhost:"+port+"/TinhToan");int a=10;int b=20;System.out.print(" tích= "+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