[Java] Lập trình mạng Client gửi n đến server, server gửi lại client số nguyên tố <n

Thảo luận trong 'Java' bắt đầu bởi Nguyễn Thành Đạt It, 5/11/17.

  1. Nguyễn Thành Đạt It

    Nguyễn Thành Đạt It Guest Registered

    Tham gia ngày:
    28/9/16
    Bài viết:
    435
    Đã được thích:
    4
    Điểm thành tích:
    18
    Giới tính:
    Nam
    Nghề nghiệp:
    N/A
    Nơi ở:
    N/A
    Web:
    N/A

    Hướng dẫn làm bài
    // Java Class Library
    Bước 1:
    upload_2017-11-5_21-16-22.png

    upload_2017-11-5_21-18-48.png

    Bước 2: tạo class nguyên tố

    upload_2017-11-5_21-19-45.png

    upload_2017-11-5_21-21-18.png

    Bước 3: nhập code
    CODE:
    Select All
    package rmi.libs;
    import java.rmi.Remote;
    import java.rmi.RemoteException;
    import java.util.ArrayList;
    public interface 
    NguyenTo extends Remote{
        public 
    boolean kiemtraNT(int nthrows RemoteException;
        public 
    ArrayList<Integerketqua(int nthrows RemoteException
    }
    upload_2017-11-5_21-22-53.png
    //Java Application
    Bước 1: tạo rmiserver

    upload_2017-11-5_21-23-45.png
    upload_2017-11-5_21-23-45.png

    upload_2017-11-5_21-36-34.png
    Bước 2: Tạo class Tính Toán

    upload_2017-11-5_21-32-50.png
    upload_2017-11-5_21-25-43.png
    upload_2017-11-5_21-28-51.png

    Bước 3: nhập code
    CODE:
    Select All
    package rmi.server;
    import java.rmi.RemoteException;
    import java.rmi.server.UnicastRemoteObject;
    import java.util.ArrayList;
    import rmi.libs.NguyenTo;
    public class 
    TinhToan extends UnicastRemoteObject implements NguyenTo{
        public 
    TinhToan() throws RemoteException {
        }
        public 
    boolean kiemtraNT(int nthrows RemoteException {
            if( 
    n<2)
                return 
    false;
            else{
                if ( 
    n==2|| n==)
                    return 
    true;
                else {
                    for( 
    int i=2;i<=Math.sqrt(n);i++){
                        if(
    n%i==0){
                            return 
    false;
                        }
                    }
                }
                return 
    true;
            }
        }
        public 
    ArrayList<Integerketqua(int nthrows RemoteException {
            
    ArrayList<IntegerarrList= new ArrayList<>();
            for( 
    int i=0;i<n;i++){
                if ( 
    kiemtraNT(i)==true){
                    
    arrList.add(i);
                }
            }
            return 
    arrList;
        }}
    upload_2017-11-5_21-40-33.png

    Bước 4: Tạo Class Server

    upload_2017-11-5_21-41-30.png

    upload_2017-11-5_21-42-12.png

    Bước 5: nhập code
    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 port6394;
            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.SEVEREnullex);
            } catch (
    MalformedURLException ex) {
                
    Logger.getLogger(Server.class.getName()).log(Level.SEVEREnullex);
            } 
       }
    }
    upload_2017-11-5_21-43-26.png

    Bước 6 : rmiserver kết nối với rmilibs

    upload_2017-11-5_21-39-38.png

    Bước 7: Tạo rmiclient

    upload_2017-11-5_21-23-45.png
    upload_2017-11-5_21-45-51.png

    upload_2017-11-5_21-46-44.png

    upload_2017-11-5_21-47-33.png

    upload_2017-11-5_21-48-1.png

    Bước 8 : tạo class Client

    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.Scanner;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import rmi.libs.NguyenTo;
    public class 
    Client {
        public static 
    void main(String[] args) {
            new 
    Client().run();
        }
       private 
    void run(){
           
    int port=6394;
           
    int n;
            try {
                
    NguyenTo nt=(NguyenToNaming.lookup("rmi://localhost:"+port+"/TinhToan");
                
    System.out.println(" nhap gia tri cua n:");
                do{
                    
    System.out.print("  n=");
                    
    Scanner scn= new Scanner(System.in);
                    
    n=scn.nextInt();
                } while(
    n<2);
                
    System.out.println(" nhung so nguyen to thoa man la:");
                for( 
    int i=0i<nt.ketqua(n).size();i++){
                    
    System.out.print(nt.ketqua(n).get(i)+"   ");
                }
               
    System.out.print(" "); 
            } catch (
    NotBoundException ex) {
                
    Logger.getLogger(Client.class.getName()).log(Level.SEVEREnullex);
            } catch (
    MalformedURLException ex) {
                
    Logger.getLogger(Client.class.getName()).log(Level.SEVEREnullex);
            } catch (
    RemoteException ex) {
                
    Logger.getLogger(Client.class.getName()).log(Level.SEVEREnullex);
            }     
       }  
    }

    Bước 9: rmi client kết nối với rmilibs

    upload_2017-11-5_21-50-31.png

    Kết quả:
    run file Server

    upload_2017-11-5_21-51-59.png

    run file Client

    upload_2017-11-5_21-52-43.png

    upload_2017-11-5_21-53-15.png
     

    Bình Luận Bằng Facebook

    data-href="https://cnttqn.com/threads/java-lap-trinh-mang-client-gui-n-den-server-server-gui-lai-client-so-nguyen-to-n.5041.html"