ClientとServerの運用原則(四則演算)


import java.io.*;
import java.net.*;

public class TalkClient {
    public static void main(String args[]) {
        try {
            //     4700         
            Socket socket = new Socket("127.0.0.1", 4700);
            if (socket.isConnected()) {
                System.out.println("success!");
            }
            //            BufferedReader   
            BufferedReader sin = new BufferedReader(new InputStreamReader(
                    System.in));
            //  Socket        ,   PrintWriter   
            PrintWriter os = new PrintWriter(socket.getOutputStream());
            //  Socket        ,      BufferedReader   
            BufferedReader is = new BufferedReader(new InputStreamReader(
                    socket.getInputStream()));
            String readline;
            //              
            readline = sin.readLine();
            //               "bye"     
            while (!readline.equals("bye")) {
                //                  Server
                os.println(readline);
                //      , Server         
                os.flush();
                //                 
                // System.out.println("Client:" + readline);
                //  Server       ,         
                System.out.println("Server:" + is.readLine());
                //              
                readline = sin.readLine();
            } //     
            os.close(); //   Socket    
            is.close(); //   Socket    
            socket.close(); //   Socket
        } catch (Exception e) {
            System.out.println("Error" + e); //
        }
    }
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class TalkServer1 {
    public static void main(String args[]) {
        try {
            ServerSocket server = null;
            try {
                server = new ServerSocket(4700);
                //     ServerSocket    4700       
            } catch (Exception e) {
                System.out.println("can not listen to:" + e);
                //
            }
            Socket socket = null;
            try {
                socket = server.accept();
                //   accept()        ,   
                //          Socket   ,     
            } catch (Exception e) {
                System.out.println("Error." + e);
                //
            }
            //String line;
            BufferedReader is = new BufferedReader(new InputStreamReader(
                    socket.getInputStream()));
            //  Socket        ,      BufferedReader   
            PrintWriter os = new PrintWriter(socket.getOutputStream());
            //  Socket        ,   PrintWriter   
            //BufferedReader sin = new BufferedReader(new InputStreamReader(
            //        System.in));
            //            BufferedReader   
            String q = manage(is);
            //                   
            //line = sin.readLine();
            //            
            while (q!="bye") {
                //         "bye",     
                
                os.println(q);
                // os.println(line);
                // System.out.println("       ");
                //           
                os.flush();
                //      , Client         
                //System.out.println("Server:" + line);
                //                 String s = is.readLine();
                q = manage(is);
                //  Client       ,         
                //line = sin.readLine();
                //              
            } //     
            os.close(); //   Socket    
            is.close(); //   Socket    
            socket.close(); //   Socket
            server.close(); //   ServerSocket
        } catch (Exception e) {
            System.out.println("Error:" + e);
            //
        }
    }

    private static String manage(BufferedReader is) throws IOException {
        String s = is.readLine();
        int q = 0;

        for (int i = 0; i < s.length(); i++) {
            if (Character.toString(s.charAt(i)).equals("+")) {
                q = Integer.parseInt(s.substring(0, i))
                        + Integer.parseInt(s.substring(i + 1));
                break;
            } else if (Character.toString(s.charAt(i)).equals("-")) {
                q = Integer.parseInt(s.substring(0, i))
                        - Integer.parseInt(s.substring(i + 1));
                break;
            } else if (Character.toString(s.charAt(i)).equals("*")) {
                q = Integer.parseInt(s.substring(0, i))
                        * Integer.parseInt(s.substring(i + 1));
                break;
            } else if (Character.toString(s.charAt(i)).equals("/")) {
                q = Integer.parseInt(s.substring(0, i))
                        / Integer.parseInt(s.substring(i + 1));
                break;
            }
        }

        System.out.println("Client:" + s + "=" + q);
        return s + "=" + q;
    }
}
import java.io.*;
import java.net.*;
import java.applet.Applet;

public class TalkServer {
    public static void main(String args[]) {
        int a = 0, c = 0, index = 0;
        String b = null;
        int sum = 0;
        try {
            ServerSocket server = null;
            try {
                server = new ServerSocket(4700);
                //     ServerSocket    4700       
            } catch (Exception e) {
                System.out.println("can not listen to:" + e);
                //
            }
            Socket socket = null;
            try {
                socket = server.accept();
                //   accept()        ,   
                //          Socket   ,     
            } catch (Exception e) {
                System.out.println("Error." + e);
                //
            }
            String line;
            BufferedReader is = new BufferedReader(new InputStreamReader(
                    socket.getInputStream()));
            //  Socket        ,      BufferedReader   
            PrintWriter os = new PrintWriter(socket.getOutputStream());
            //  Socket        ,   PrintWriter   
        //    BufferedReader sin = new BufferedReader(new InputStreamReader(
                    //System.in));
            //            BufferedReader   
            //System.out.println("Client:" + is.readLine());
            //                   
            line = is.readLine();
            //            
            while (!line.equals("bye")) {
                //         "bye",     
                if (line.contains("+")) {
                    index = line.indexOf("+");
                    a = Integer.valueOf(line.substring(0, index));
                    b = line.substring(index, index + 1);
                    c = Integer.valueOf(line.substring(index + 1, line.length()));
                    sum = a + c;
                } else if (line.contains("-")) {
                    index = line.indexOf("-");
                    a = Integer.valueOf(line.substring(0, index));
                    b = line.substring(index, index + 1);
                    c = Integer.valueOf(line.substring(index + 1, line.length()));
                    sum = a - c;
                } else if (line.contains("*")) {
                    index = line.indexOf("*");
                    a = Integer.valueOf(line.substring(0, index));
                    b = line.substring(index, index + 1);
                    c = Integer.valueOf(line.substring(index + 1, line.length()));
                    sum = a * c;
                } else if (line.contains("/")) {
                    index = line.indexOf("/");
                    a = Integer.valueOf(line.substring(0, index));
                    b = line.substring(index, index + 1);
                    c = Integer.valueOf(line.substring(index + 1, line.length()));
                    sum = a / c;
                }
                os.println(a+b+c+"="+sum);
                //           
                os.flush();
                //      , Client         
                //System.out.println("Server:" + line);
                //                 
                //System.out.println("Client:" + is.readLine());
                //  Client       ,         
                line = is.readLine();
                //              
            } //     
            os.close(); //   Socket    
            is.close(); //   Socket    
            socket.close(); //   Socket
            server.close(); //   ServerSocket
        } catch (Exception e) {
            System.out.println("Error:" + e);
            //
        }
    }
}

 
転載先:https://www.cnblogs.com/zbq0325/p/4556121.html