请教高手:1.现在刚学Java网络编程,编写的客户端和服务器端程序只能运行一次,第二次运行就会出现异常,异常如下:
Exception in thread "main" java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at Server.Server.main(Server.java:359)
好像是地址或者端口号里面有问题吧?2.电脑的IP是202.103.8.19。以前写过一个服务器程序,放在IP为202.103.8.19的电脑上运行服务器端程序,然后在另一台电脑上运行客户端程序,Socket socket=new Socket("202.103.8.19",8000);
为什么运行的时候不能实现服务器和客户端的通信。是不是运行服务器端程序的电脑还需要什么配置?
这样的饿程序在自己的电脑上运行(IP:127.0.0.1)就可以实现相互通信?
还请教高手指教。

解决方案 »

  1.   

     Address already in use: JVM_Bind 把端口换一下
      

  2.   

    嗯,的确是这样,每次将Eclipse退出后,或者注销以后才能使用。
    不过问题是,在不退出IDE或者注销前提下,该怎么停止上一个程序呢?我也单击了下面的那个红色停止按钮,这个也算是非正常退出吗?还希望您再指点一下啊。
      

  3.   

    1. Address already in use: JVM_Bind 端口已经被占用了所以会在运行时抛异常导致程序异常退出。应该做异常捕获并显示端口已被占用的提示信息。
    2. 检查一下你的防火墙,软的硬的都要检查。