zoukankan      html  css  js  c++  java
  • Socket和多线程ServerSocket

    Socket端:

    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.Socket;
    import java.net.UnknownHostException;

    public class ClientBank {
        
        private static String ip = "127.0.0.1";
        private static int port = 9090;
        private static Socket client = null;
        
        public String sendLoginSalesmanDom(String dom)throws Exception{
            String domXml = null;
            try {
                client = new Socket(ip,port);
                
                InputStream in = client.getInputStream();
                DataInputStream dataInput = new DataInputStream(in);
                
                OutputStream out = client.getOutputStream();
                DataOutputStream dataOut = new DataOutputStream(out);
                
                dom = "sale00" + dom;
                dataOut.writeUTF(dom);
                domXml = dataInput.readUTF();
                in.close();
                dataInput.close();
                out.close();
                dataOut.close();
                client.close();
                return domXml;
            } catch (UnknownHostException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return domXml;
        }
        
        public String sendAndReturnRecardDom(String dom){
            String domXml = null;
            try {
                client = new Socket(ip,port);
                
                InputStream in = client.getInputStream();
                DataInputStream dataInput = new DataInputStream(in);
                
                OutputStream out = client.getOutputStream();
                DataOutputStream dataOut = new DataOutputStream(out);
                
                dom = "reca01" + dom;
                
                dataOut.writeUTF(dom);
                domXml = dataInput.readUTF();
                in.close();
                dataInput.close();
                out.close();
                dataOut.close();
                client.close();
                return domXml;
            } catch (UnknownHostException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return domXml;
        }

    }

    多线程ServerSocket:

    import java.io.IOException;
    import java.net.ServerSocket;
    import java.net.Socket;
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;

    public class ServerBank {
        private ExecutorService pool = Executors.newFixedThreadPool(45);

        private static int port = 9090;
        ServerSocket server = null;
        
        public ServerBank(){
            try {
                server = new ServerSocket(port);
                while(true){
                    Socket client = server.accept();
                    System.out.println("serverSocket server.accept(); ");
                    ServerBankThread serverThread = new ServerBankThread(client);
                    serverThread.start();
                    pool.execute(serverThread);
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

  • 相关阅读:
    征战蓝桥 —— 2013年第四届 —— C/C++A组第7题——错误票据
    征战蓝桥 —— 2013年第四届 —— C/C++A组第5题——前缀判断
    征战蓝桥 —— 2013年第四届 —— C/C++A组第5题——前缀判断
    征战蓝桥 —— 2013年第四届 —— C/C++A组第5题——前缀判断
    征战蓝桥 —— 2013年第四届 —— C/C++A组第4题——颠倒的价牌
    征战蓝桥 —— 2013年第四届 —— C/C++A组第4题——颠倒的价牌
    征战蓝桥 —— 2013年第四届 —— C/C++A组第4题——颠倒的价牌
    单例模式中的多线程安全问题分析
    单例模式中的多线程安全问题分析
    每个程序员都应该警惕的文件上传漏洞!!
  • 原文地址:https://www.cnblogs.com/Jiphen/p/2564165.html
Copyright © 2011-2022 走看看