Giúp đỡ bt Client/Server này với mn

Trion Nguyen

New Member
29/5/15
9
0
0
31
11. Hãy viết chương trình ứng dụng Client/Server, sử dụng socket, theo yêu cầu sau:
Chương trình Client:
- Cho phép người dùng nhập vào một số nguyên.

- Gửi số nguyên vừa nhập đến Server.
- Nhận kết quả trả về từ Server và in ra màn hình.
- Kết thúc chương trình
Chương trình Server:
- Nhận kết nối từ Client.
- Nhận số nguyên được gửi đến từ chương trình Client.
- Kiểm tra số nguyên vừa nhận có phải là số nguyên tố hay không và gửi kết quả về
cho Client.
- Kết thúc chương trình.
Code:
package baitapnop.Bai11;

import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
import java.net.UnknownHostException;

/**
 *
 * @author TRIONCK
 */
public class client {
   
     public static void main(String []args) throws IOException 
    { 
        // khoi tao 3 bien kieu String 
        String a,ketqua; 
        //tao socket de ket noi toi server 
        Socket ClientSocket = new Socket("Localhost", 4567); 
        //thong bao da ket noi thanh cong 
        System.out.println("Connected to server"); 
        //tao luong nhap du lieu tu ban phim 
        DataInputStream inFromUser = new DataInputStream(System.in); 
        //tao luong nhan du lieu tu server 
        DataInputStream inFromServer = new DataInputStream(ClientSocket.getInputStream()); 
        //tao luong gui du lieu len server 
        DataOutputStream outToServer = new DataOutputStream(ClientSocket.getOutputStream()); 
        // nhap lieu tu ban phim 
        try{ 
            System.out.println("nhap vao so a :"); 
            a=inFromUser.readLine(); 
           
            // gui len server 
             outToServer.writeBytes(a+'\n'); 
           
        }catch(UnknownHostException e) 
        { 
            System.err.println("Server Not Found"); 
            System.exit(1); 
        }catch(IOException e) 
        { 
            System.err.println("Cannot make a connection"); 
            System.exit(1); 
        } 
         
        //nhan ve tu server 
        ketqua=inFromServer.readLine(); 
        //in ra man hinh 
        System.out.println(" "+ketqua); 
        //dong luong gui du lieu len server 
        outToServer.close(); 
        //dong luong nhan du lieu tu server 
        inFromServer.close(); 
        //dong socket client 
        ClientSocket.close(); 
    } 
}
sever
Code:
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package baitapnop.Bai11;

import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import static java.lang.Math.sqrt;
import static java.lang.StrictMath.sqrt;

import java.net.ServerSocket;
import java.net.Socket;



/**
 *
 * @author TRIONCK
 */
public class server {
    public static void main(String []args) throws IOException 
    { 
        String so1,ketqua; 
         
        // tao server socket 
        ServerSocket server = new ServerSocket(4567); 
        System.out.println("Server is now already"); 
        //tao 1 socket do ket noi tu client toi server 
        Socket connectionSocket = server.accept(); 
        //tao luong nhan du lieu tu client 
        DataInputStream inFromClient = new DataInputStream(connectionSocket.getInputStream()); 
        // tao luong gui du lieu toi client 
        DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream()); 
        // truyen du lieu tu client vao 2 bien so1 va so2 
        so1 = inFromClient.readLine(); 
       
        //ep so1 va so2 tu kieu String sang kieu Integer 
        int a = Integer.parseInt(so1); 
       
        if (a<2)
        {
            ketqua="khong phai so nt";
            outToClient.writeBytes(ketqua+'\n');
        }
        for(int i=2;i<=Math.sqrt(a);i++)
            if (a%i==0)
            {
                ketqua="so nt";
                outToClient.writeBytes(ketqua+'\n');
            }
                else
            {
                ketqua="khong phai so nt";
                outToClient.writeBytes(ketqua+'\n');
            }
       
        inFromClient.close(); 
        //dong luong gui du lieu ve client 
        outToClient.close(); 
        //dong server socket 
        server.close(); 
    } 

}
 

vutienanh

New Member
15/4/21
1
1
1
Hai duong
11. Hãy viết chương trình ứng dụng Client/Server, sử dụng socket, theo yêu cầu sau:
Chương trình Client:
- Cho phép người dùng nhập vào một số nguyên.

- Gửi số nguyên vừa nhập đến Server.
- Nhận kết quả trả về từ Server và in ra màn hình.
- Kết thúc chương trình
Chương trình Server:
- Nhận kết nối từ Client.
- Nhận số nguyên được gửi đến từ chương trình Client.
- Kiểm tra số nguyên vừa nhận có phải là số nguyên tố hay không và gửi kết quả về
cho Client.
- Kết thúc chương trình.
Code:
package baitapnop.Bai11;

import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
import java.net.UnknownHostException;

/**
*
* @author TRIONCK
*/
public class client {
 
     public static void main(String []args) throws IOException
    {
        // khoi tao 3 bien kieu String
        String a,ketqua;
        //tao socket de ket noi toi server
        Socket ClientSocket = new Socket("Localhost", 4567);
        //thong bao da ket noi thanh cong
        System.out.println("Connected to server");
        //tao luong nhap du lieu tu ban phim
        DataInputStream inFromUser = new DataInputStream(System.in);
        //tao luong nhan du lieu tu server
        DataInputStream inFromServer = new DataInputStream(ClientSocket.getInputStream());
        //tao luong gui du lieu len server
        DataOutputStream outToServer = new DataOutputStream(ClientSocket.getOutputStream());
        // nhap lieu tu ban phim
        try{
            System.out.println("nhap vao so a :");
            a=inFromUser.readLine();
         
            // gui len server
             outToServer.writeBytes(a+'\n');
         
        }catch(UnknownHostException e)
        {
            System.err.println("Server Not Found");
            System.exit(1);
        }catch(IOException e)
        {
            System.err.println("Cannot make a connection");
            System.exit(1);
        }
       
        //nhan ve tu server
        ketqua=inFromServer.readLine();
        //in ra man hinh
        System.out.println(" "+ketqua);
        //dong luong gui du lieu len server
        outToServer.close();
        //dong luong nhan du lieu tu server
        inFromServer.close();
        //dong socket client
        ClientSocket.close();
    }
}
sever
Code:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package baitapnop.Bai11;

import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import static java.lang.Math.sqrt;
import static java.lang.StrictMath.sqrt;

import java.net.ServerSocket;
import java.net.Socket;



/**
*
* @author TRIONCK
*/
public class server {
    public static void main(String []args) throws IOException
    {
        String so1,ketqua;
       
        // tao server socket
        ServerSocket server = new ServerSocket(4567);
        System.out.println("Server is now already");
        //tao 1 socket do ket noi tu client toi server
        Socket connectionSocket = server.accept();
        //tao luong nhan du lieu tu client
        DataInputStream inFromClient = new DataInputStream(connectionSocket.getInputStream());
        // tao luong gui du lieu toi client
        DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream());
        // truyen du lieu tu client vao 2 bien so1 va so2
        so1 = inFromClient.readLine();
     
        //ep so1 va so2 tu kieu String sang kieu Integer
        int a = Integer.parseInt(so1);
     
        if (a<2)
        {
            ketqua="khong phai so nt";
            outToClient.writeBytes(ketqua+'\n');
        }
        for(int i=2;i<=Math.sqrt(a);i++)
            if (a%i==0)
            {
                ketqua="so nt";
                outToClient.writeBytes(ketqua+'\n');
            }
                else
            {
                ketqua="khong phai so nt";
                outToClient.writeBytes(ketqua+'\n');
            }
     
        inFromClient.close();
        //dong luong gui du lieu ve client
        outToClient.close();
        //dong server socket
        server.close();
    }

}
kiểm tra số nguyên tố sai rồi thì phải
for(int i = 2;i<=Math.sqrt(a);i++){
if(a%i== 0){
ketqua = " khong la so nguyen to ";
}
else{
ketqua=" day la so nguyen to";
}
}
 
  • Like
Reactions: Joe