[ Lập trình mạng với Java ] Lập trình SOCKET kết nôi Client - Server để tính tổng 2 số

Lập trình SOCKET kết nôi Client - Server để tính tổng 2 số

/* 
 Viết chương trình:
  - Client: Nhập vào từ bàn phím 2 số nguyên (a,b). Client chờ nhận kết quả từ Server để in ra màn hình
 - Server: Nhận 2 số nguyên mà Client vừa gửi, tính tổng của chúng và gửi kết quả cho Client
*/ 

//----------CLIENT----------------------------------------
import java.net.UnknownHostException; 
import java.io.DataInputStream; 
import java.io.DataOutputStream; 
import java.io.IOException; 
import java.net.Socket; 


public class Socket_tong2so_client {

    public static void main(String []args) throws IOException 
    { 
        System.out.println("Client dang ket noi voi Server... "); 
        String a,b,tong; 

        //tao socket de ket noi toi server, Locallhost: server mặc định 
        Socket ClientSocket = new Socket("Localhost", 1234); 

        //thong bao da ket noi thanh cong 
        System.out.println("Da ket noi voi 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 du lieu tu ban phim
        try{ 
            System.out.println("\n Nhap a :"); 
            a=inFromUser.readLine(); 
            System.out.println("\n Nhap b :"); 
             b=inFromUser.readLine(); 

            // gui len server 
             outToServer.writeBytes(a+'\n'); 
            outToServer.writeBytes(b+'\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 
        tong=inFromServer.readLine(); 

        //in ra man hinh 
        System.out.println("\n Ket qua :"+tong); 

        //dong luong gui du lieu len server 
        outToServer.close(); 

        //dong luong nhan du lieu tu server 
        inFromServer.close(); 

        //dong socket client 
        ClientSocket.close(); 
    } 



//----------SERVER----------------------------------------


import java.io.DataInputStream; 
import java.io.DataOutputStream; 
import java.io.IOException; 
import java.net.ServerSocket; 
import java.net.Socket; 

public class Socket_tong2so_server {
    public static void main(String []args) throws IOException 
    { 
        System.out.println("Server dang khoi dong... "); 
        String so1,so2,so3; 
        int tong; 

        // tao server socket 
        ServerSocket server = new ServerSocket(1234); 
        System.out.println("Server da san sang! "); 

        //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(); 
        so2 = inFromClient.readLine(); 

        //ep so1 va so2 tu kieu String sang kieu Integer 
        int a = Integer.parseInt(so1); 
        int b = Integer.parseInt(so2); 

        //tinh tong a + b 
        tong = a + b; 

        //ep tong  sang kieu String 
        so3 = String.valueOf(tong); 

        //gui so3 ve client 
        outToClient.writeBytes(so3+'\n'); 

        //dong luong nhan du lieu tu client 
        inFromClient.close(); 

        //dong luong gui du lieu ve client 
        outToClient.close(); 

        //dong server socket 
        server.close(); 
    } 



/* 
Chú ý: Run class Server trước sau đó Run class Client
*/
 

Chúc các bạn thành công!

 




[Tham khao: Internet]

Categories

AI (13) AI programming (1) ASP (1) Android (31) App Honeygain (4) Assembly (17) Biểu diễn thuật toán (1) Bubble-Sort (1) Bài giảng (2) Bài giảng lập trình C và Cpp (21) Bài viết hay (108) Bản đồ tư duy (1) C Plus Plus (103) C/C++ (16) CDSL phân tán (1) CSS (2) Cơ sở dữ liệu (11) Danh ngôn lập trình (1) Datamining (4) Genetic Algorithm (1) Giáo trình (2) Giải thuật tiến hóa - thuật toán di truyền (2) Google App Engine (2) Góc học tập (34) HTML (1) Hướng dẫn kiếm tiền online tại nhà (6) Hướng dẫn sử dụng Emu8086 (1) Học lập trình (131) Học lập trình C và CPP qua ví dụ (17) Java (54) Java Căn bản (6) JavaScript (5) Kỹ năng đọc hiệu quả (1) Kỹ thuật lập trình (16) Kỹ thuật đồ họa máy tính (10) Lý thuyết Cơ sở dữ liệu (2) Lý thuyết đồ thị (11) Lập trình Cơ sở dữ liệu (2) Lập trình Python (2) Lập trình căn bản (8) Lập trình hướng đối tượng với Java (7) Lập trình mobile (7) Lập trình mạng (6) Lập trình nhúng (1) Lập trình trí tuệ nhân tạo (2) ML (1) MMO (6) MS Access (1) Machine learning (2) Mạng máy tính (1) Mẹo tìm kiếm trên Google (1) Nghiên cứu khoa học (3) Ngôn ngữ lập trình (2) Những cuốn sách hay mà bạn nên đọc khi còn trẻ (1) Pascal (3) Phương pháp tính toán tối ưu (2) Phương pháp tối ưu (2) Quản lý dự án CNTT (1) SEO (1) SQL (5) Swift (9) Sách hay (4) Thiết kế Web (2) Thuật toán (51) Thuật toán Sắp Xếp -Sort (9) Thuật toán Tìm kiếm - Search (5) Thuật toán di truyền (4) Thực hành Android (2) Tin học văn phòng (5) Tiện ích máy tính (3) Toán rời rạc (13) Treo máy kiếm tiền (3) Trí tuệ nhân tạo (18) Tài liệu tham khảo (4) Tìm hiểu Blockchain (2) Tự học Android (3) Tự học Android qua ví dụ (1) Tự học JavaScript (1) Tự học lập trình (7) Tự học lập trình Android (17) Tự học lập trình C và CPP (14) Tự học lập trình java qua các ví dụ (8) XML (1) blockchain (2) bài giảng quản lý dự án CNTT (1) bài tập java (3) bài tập lập trình (4) cấu trúc dữ liệu giải thuật (15) hướng dẫn viết báo (1) học lập trình Java (11) học máy (5) hợp ngữ (8) lập trình viên (3) phưng pháp đơn hình (2) thuật toán AI (2) tài liệu CNTT miễn phí (3) tính toán tối ưu (1) tự học lập trình iOS (8) tự học lập trình python (1) ví dụ Assembly (1) Đại số gia tử và ứng dụng (1) Đồ họa (4)