try
{in.readInt();}
catch(java.io.IOException e)
{serverSocket.close();
}

解决方案 »

  1.   

    开一个线程,由线程管理和客户端的交互。
    ServerSocket serverSocket = null;
    serverSocket = new ServerSocket();
    while(true)
    {  Socket clientSocket =  serverSocket.accept();
      managerThread mThread=new managerThread(clientSocket);
      mThread.start(); 
      }
    serverSocket.close();
    ...........class managerThread extends java.lang.Thread
    {
      Socket m_socket=null;
      DataInputStream in =null;
      managerThread(Socket clientSocket) 
      {
        super();
        m_socket=clientSocket;
      }
      public void run()
      {
         in =new DataInputStream(new BufferedInputStream(clientSocket.getInputStream()));
         int len=in.readInt();
         ..................  }  
    }