是这样的,我有2个程序,都需要用到4567断口
能不能在
serverSocket s = new serverSocket(4567);
之前判定下这个断口是不是已经占用了,如果占用了就迟延1秒再建立
代码如下
public String usb(){
try{
serverSocket=new ServerSocket(4567);
}catch (Exception e) {
e.printStackTrace();
System.out.println("服务存在了");
long ntime=System.currentTimeMillis();
long etime=0;
for(;;)//迟延1秒
{
etime=System.currentTimeMillis();
if(etime-ntime>1000)
{
break;
}
}
usb();//再次启动
}
System.out.println("服务器启动");
}或者说,有别更好方法来实现,帮忙说下
谢谢
能不能在
serverSocket s = new serverSocket(4567);
之前判定下这个断口是不是已经占用了,如果占用了就迟延1秒再建立
代码如下
public String usb(){
try{
serverSocket=new ServerSocket(4567);
}catch (Exception e) {
e.printStackTrace();
System.out.println("服务存在了");
long ntime=System.currentTimeMillis();
long etime=0;
for(;;)//迟延1秒
{
etime=System.currentTimeMillis();
if(etime-ntime>1000)
{
break;
}
}
usb();//再次启动
}
System.out.println("服务器启动");
}或者说,有别更好方法来实现,帮忙说下
谢谢
另延时不要用for循环那样很占cpu资源
用Thread.sleep(1000);
从文件中读到端口,比较new的端口
一样就占用 1秒后重起