一个简单的程序。在  eclipse  运行出现了错误:Exception:   java.net.BindException:   Address   already   in   use:   JVM_Bind。怎么回事?
代码如下:
import java.io.*;
import java.net.*;
import java.util.*;/**
This program implements a simple server that listens to port 8189 and echoes back all 
client input.
*/
public class ECHOsERVER
{  
public static void main(String[] args )
{  
   try
   {  
      // establish server socket
      ServerSocket s = new ServerSocket(8189);      // wait for client connection         
      Socket incoming = s.accept( );
      try
      {
         InputStream inStream = incoming.getInputStream();
         OutputStream outStream = incoming.getOutputStream();         Scanner in = new Scanner(inStream);         
         PrintWriter out = new PrintWriter(outStream, true /* autoFlush */);         out.println( "Hello! Enter BYE to exit." );
         
         // echo client input
         boolean done = false;
         while (!done && in.hasNextLine())
         {  
            String line = in.nextLine();            
            out.println("Echo: " + line);            
            if (line.trim().equals("BYE"))
               done = true;
         }
      }
      finally
      {
         incoming.close();
      }
   }
   catch (IOException e)
   {  
      e.printStackTrace();
   }
}
}

解决方案 »

  1.   

          // establish server socket
          ServerSocket s = new ServerSocket(8189); 
    这个,你是不是 运行了n次, 都没关闭 呢s.close();
      

  2.   

    ServerSocket类, 程序 结束时,要调用它的close();如果是其他程序占用,你可以下一个fport来看看谁占用了,或用360中也有这个功能。或是你改一个端口试试。
      

  3.   

    在进程里面结束java.exe就可了.
    如果不会的话.
    哈哈哈.就重起电脑吧.一了百了.肯定行.