I trying to create a program that is supposed to send and receive text messages (UTF-8 strings).
For this error, I am working on the server side
The command line arguments for the server would be something like
java DirectMessengerServer -l 6021
The problem with this screenshot is that "Try block begins" is not being printed out (which is the line being ignored later in the code).
Code of DirectMessengerServer.java:
import java.io.*;
import java.net.*;
import java.util.*;
import static java.nio.charset.StandardCharsets.*;
public class DirectMessengerServer
{
public static void main(String args[]) throws IOException
{
Thread Server = new Thread ()
{
public void run ()
{
System.out.println("Server thread is now running");
ServerSocket server_socket = null;
Socket client_socket;
String message1;
for(int i = 0; i < args.length; i++)
{
if(args[0] == "-l")
{
try
{
System.out.println("Try block begins..");
int port_number1= Integer.valueOf(args[1]);
ServerSocket listener = new ServerSocket(port_number1);
System.out.println("Listening for connections..");
Socket socket = listener.accept();
client_socket= server_socket.accept();
BufferedReader reader= new BufferedReader(new InputStreamReader(client_socket.getInputStream(), "UTF8"));
PrintWriter output= new PrintWriter( client_socket.getOutputStream(), true );
String input_line= reader.readLine();
System.out.println( "Received from client: " );
System.out.println( input_line );
output.println( input_line );
}
catch ( Exception e )
{
System.out.println( e.getMessage() );
}
//server.close();
}
}
}
};
Server.start();
}
}
My question is why does the program stop without executing the try block and/or why is the "Try block begins" not being executed?