我现在做的是一个关于socket的程序,
public class Server{
   SecondServer secondServer=new SecondServer(端口);
    Thread thread=new Thread(secondServer);
    thread.start();
}
pubblic class SecondServer implements Runnable{
  public SecondServer(int port){
   监听一个端口
}
   public void run(){
    LoadServer secondServer=new LoadServer (端口);
    Thread thread=new Thread(secondServer);
    thread.start();}}
public class LoadServer  implements Runnable{
   public LoadServer  (int port){
   监听一个端口
   }
   public void run(){
    下载程序
}
}Server是服务器程序 一直开着,如果客户端一直调用 ,如何才能避免端口已被占用的情况 急 请哪位大虾指点一下 谢谢了

解决方案 »

  1.   

    在catch里面捕获端口被占用时抛出的异常,然后换新的端口
      

  2.   

    楼上的是最简单的方法,直接捕获异常来判断端口是否被占用但也可以实现TCP connect()扫描,这是最基本的TCP扫描,操作系统提供的connect()系统调用可以用来与每一个感兴趣的目标计算机的端口进行连接。如果端口处于侦听状态,那么connect()就能成功。否则,这个端口是不能用的,即没有提供服务。