解决方案 »

  1.   

    服务器端代码:
    /**
     * 构造函数
     */
    public ServerThread() {
    try {
    //初始化线程池
    executorService = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors() * Constants.POOL_SIZE);
    server = new ServerSocket(Constants.SERVER_PORT);
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    /**
     * 运行服务器主线程
     */
    public void run() {
    while (!isStop) {
    try {
    socket = server.accept();
    if(socket.isConnected()){
    System.out.println("服务器接受客户端请求");
    // 单独开启一个线程处理每一个请求
    serverSubThread = new ServerSubThread(socket);
    // 子线程添加到线程池中
    executorService.execute(serverSubThread);
    }
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    }
    ServerSubThread:
    public void run(){
    try {
    // 服务器接收客户端请求
    if(in != null){
    String xml = in.readUTF();
                            }
                   }
                   catch(Exception e ){
                   }