Other options I've tried for the loop:
1)
catch (Exception e){
ConsoleHelper.writeMessage("error");
socket.close();
serverSocket.close();
break;
}
2)
catch (Exception e){
System.out.println("error");
socket.close();
serverSocket.close();
break;
}
3)
catch (Exception e){
System.out.println("error");
socket.close();
break;
}
4)
catch (Exception e){
System.out.println(e.getMessage());
socket.close();
break;
}
5)
catch (Exception e){
System.out.println(e.getMessage());
serverSocket.close();
break;
}
6)
catch (Exception e){
ConsoleHelper.writeMessage(e.getMessage());
serverSocket.close();
break;
}
Edit: I added handler.start();
between lines 19 and 20 (with all 7 options in the catch block). Still failing
package com.codegym.task.task30.task3008;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) throws IOException {
ConsoleHelper.writeMessage("please enter port number");
ServerSocket serverSocket = new ServerSocket(ConsoleHelper.readInt());
System.out.println("server is running");
while (true){
Socket socket = serverSocket.accept();
try {
Handler handler = new Handler(socket);
} catch (Exception e){
ConsoleHelper.writeMessage(e.getMessage());
socket.close();
serverSocket.close();
break;
}
}
}
private static class Handler extends Thread{
Socket socket;
Handler(Socket socket){
this.socket = socket;
}
}
}