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();
        }
    }
}

posted @ 2012-06-26 18:34  Brin Page  阅读(669)  评论(0编辑  收藏  举报