猿问

程序如下:serverSocket一直会运行下去,我的怎么就终止了?

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {
private static int i = 0;
public static boolean isAlive = true;
public static void main(String args[]){
ServerSocket server = null;
Socket s =null;
try{
server = new ServerSocket(4700);
while(isAlive){
i++;
s = server.accept();
new ServerThread(s).start();
}
s.close();
server.close();
}catch(IOException e){
e.printStackTrace();
}

}

}
server还没有关闭了不会发生异常。
说的处理办法,我给项目经理说过,但项目经理不同意!

心有法竹
浏览 713回答 2
2回答

慕盖茨4494581

一般情况下,服务器就是一直开的呀,你要关闭的话,只能关闭程序了。如果你需要在某个情况下关闭服务器,可以在那个条件里面close不就行了啊。比如i++;后面为了不接受太多客户端,if(i==10) server.close();也就是一旦有10个同时连接服务器的时候,服务器直接断开。这只是一个示范,你可以再别的条件下关闭嘛。

梵蒂冈之花

s = server.accept();发生异常。直接跳到异常块处理。没有对socket进行关闭
随时随地看视频慕课网APP

相关分类

SQL Server
我要回答