zoukankan      html  css  js  c++  java
  • 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);
                // 出错,打印出错信息
            }
        }
    }
  • 相关阅读:
    Handbook of Document Image Processing and Recognition文档图像处理与识别手册 前言&目录
    An Overview of Symbol Recognition符号识别综述
    Resnet
    python detect.py
    pytorch训练模型
    如何有效使用Pretrained Models
    SOLID原则 【转】
    vi编辑器
    linux基础知识 【转】
    linux 常用命令1【转】
  • 原文地址:https://www.cnblogs.com/zbq0325/p/4556121.html
Copyright © 2011-2022 走看看