Cấp bậc tác giả:

JAVA

Viết chương trình theo mô hình Client - Server: Nhập 0-9 xuất chữ

Được viết bởi QuangIT ngày 20/09/2012 lúc 04:27 PM
Viết chương trình theo mô hình Client - Server: Nhập 0-9 xuất chữ
  • 0
  • 3190

Viết chương trình theo mô hình Client - Server: Nhập 0-9 xuất chữ


Viết chương trình theo mô hình Client - Server sử dụng Socket ở chế độ có nối kết. Trong đó:

- Server làm nhiệm vụ đọc một ký tự từ '0' đến '9' (ví dụ: nhận số 0 trả về 'không, 1 trả về 'một'' ...... 9 trả về 'chín', nếu nhận ký tự khác số thì trả về: "Không phải số nguyên")

- Client nhập vào 1 ký tự, gửi qua Server, nhận kết quả trả về từ Server và hiển thị lên màn hình



NumberServer

import java.io.DataInputStream;

import java.io.DataOutputStream;

import java.io.IOException;

import java.net.ServerSocket;

import java.net.Socket;


/**

*

* @author QuangIT

*/

public class NumberServer {


/**

* @param args the command line arguments

*/

private static ServerSocket serverSocket = null;

public static void main(String[] args) throws IOException{

// TODO code application logic here


    DataOutputStream dos = null;

    DataInputStream dis=null;

    try {

        serverSocket = new ServerSocket(8000);

        System.out.print("Server đã được mở \n" );

        Socket clientSocket = null;

        clientSocket = serverSocket.accept();

        dos=new DataOutputStream(clientSocket.getOutputStream());

        dis=new DataInputStream(clientSocket.getInputStream());

        String inline="";

        while(true)

        {

            inline = dis.readUTF();

            char ch[]=inline.toCharArray();

            if(Character.isDigit(ch[0]))

                {

                int i=Integer.parseInt(inline);

                switch(i)

                {

                    case 0:inline="Không";break;

                    case 1:inline="Một";break;

                    case 2:inline="Hai";break;

                    case 3:inline="Ba";break;

                    case 4:inline="Bốn";break;

                    case 5:inline="Năm";break;

                    case 6:inline="Sáu";break;

                    case 7:inline="Bảy";break;

                    case 8:inline="Tám";break;

                    case 9:inline="Chín";break;

                }

                dos.writeUTF(inline);

            }

            else

                dos.writeUTF("Không phải số nguyên");

        }

    }

    catch(Exception e) {

        dos.close();

        serverSocket.close();

        dis.close();

        System.out.print(e.getMessage());

    }

}


NumberClient

import java.io.DataInputStream;

import java.io.DataOutputStream;

import java.io.IOException;

import java.net.Socket;

import java.util.Scanner;



/**

*

* @author QuangIT

*/

public class NumberClient

{


    /**

    * @param args the command line arguments

    */

    public static void main(String[] args) throws IOException

    {

    // TODO code application logic here

   

        Socket mySocket = null;

        DataOutputStream dos = null;

        DataInputStream dis=null;

       

        try {

            mySocket = new Socket("localhost", 8000);

            dos = new DataOutputStream(mySocket.getOutputStream());

            dis = new DataInputStream(mySocket.getInputStream());

            Scanner input = new Scanner(System.in);

            String s = null;

            while(true)

            {

                System.out.print("\nNhap du lieu: ");

                s =input.nextLine();

                dos.writeUTF(s);

               

                String str=dis.readUTF();

                System.out.print("Kết quả từ Server : "+str);

            }

        }

        catch(Exception e) {

            System.out.print("Ngat ket noi");

            dis.close();

            dos.close();

            mySocket.close();

            e.printStackTrace();

        }

    }

}

Nguồn bài viết: Dngaz.com

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML