try {
socket = new ServerSocket(port);
System.out.println("Server is starting on port " + port + " ...");
}catch (IOException e){
System.out.println("Error on socket creation!");
}
Socket connectionSocket = null;
try{
while(true){
try{
connectionSocket = socket.accept();
Thread t = new Thread(new ClientConnection(connectionSocket));
t.start();
}catch (IOException e) {
System.out.println("Error on accept socket!");
}
}
}finally{
this.socket.close();
System.out.println("The server is shut down!");
}
close()
方法,或者现在使用Java 7的try-with-resources块,它会自动为您关闭它们。http://www.javacodegeeks.com/2011/07/java-7-try-with-resources-explained.html - Hunter McMillenclose()
之前,你还需要进行空值检查,以防ServerSocket
构造函数抛出异常。 - unholysamplerbreak
。 - user207421