I am trying to learn Java networking using this manual - http://duta.github.io/writing/StartingNetworking.pdf
Why do I get “must be caught or declared to be thrown” at this line (it is ServerSocket part of the manual). Why the code in the manual is assumed to be working, but mine doesn't?
Socket socket = serverSocket.accept();
Complete code:
public class ChatServer
{
public static void main(){
ServerSocket serverSocket = null;
boolean successful = false;
int port = 8080;
try{
serverSocket = new ServerSocket(port);
successful = true;
}catch(IOException e){
System.err.println("Port " + port + "is busy, try a different one");
}
if(successful){
Socket socket = serverSocket.accept();
PrintWriter toClient = new PrintWriter(socket.getOutputStream(), true);
BufferedReader fromClient = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String toProcess;
while((toProcess = fromClient.readLine()) != null)
{
if(toProcess.equalsIgnoreCase("Stop"))
break;
String processed = "Echo: " + toProcess;
toClient.println(processed);
}
toClient.close();
fromClient.close();
socket.close();
serverSocket.close();
}
}
}