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?

