title: Running Socket Programming code in Eclipse
body: <p>I have written a program on Socket Programming, and I created a client and a server. Codes for both are as follows:</p>
  
  <p>CLIENT:</p>
  
  <pre><code> import java.net.*;
   import java.io.*;
  
   public class GreetingClient
   {
      public static void main(String [] args)
      {
        String serverName = args[0];
        int port = Integer.parseInt(args[1]);
        try
        {
           System.out.println("Connecting to " + serverName
                               + " on port " + port);
           Socket client = new Socket(serverName, port);
           System.out.println("Just connected to "
                        + client.getRemoteSocketAddress());
           OutputStream outToServer = client.getOutputStream();
           DataOutputStream out =
                         new DataOutputStream(outToServer);
  
           out.writeUTF("Hello from "
                        + client.getLocalSocketAddress());
           InputStream inFromServer = client.getInputStream();
           DataInputStream in =
                          new DataInputStream(inFromServer);
           System.out.println("Server says " + in.readUTF());
           client.close();
        }catch(IOException e)
        {
           e.printStackTrace();
        }
     }
  }
  </code></pre>
  
  <p>SERVER:</p>
  
  <pre><code> import java.net.*;
   import java.io.*;
  
   public class GreetingServer extends Thread
   {
      private ServerSocket serverSocket;
  
      public GreetingServer(int port) throws IOException
      {
        serverSocket = new ServerSocket(port);
        serverSocket.setSoTimeout(10000);
      }
  
      public void run()
      {
        while(true)
        {
           try
           {
              System.out.println("Waiting for client on port " +
              serverSocket.getLocalPort() + "...");
              Socket server = serverSocket.accept();
              System.out.println("Just connected to "
                    + server.getRemoteSocketAddress());
              DataInputStream in =
                    new DataInputStream(server.getInputStream());
              System.out.println(in.readUTF());
              DataOutputStream out =
                   new DataOutputStream(server.getOutputStream());
              out.writeUTF("Thank you for connecting to "
                + server.getLocalSocketAddress() + "\nGoodbye!");
              server.close();
           }catch(SocketTimeoutException s)
           {
              System.out.println("Socket timed out!");
              break;
           }catch(IOException e)
           {
              e.printStackTrace();
              break;
           }
         }
       }
       public static void main(String [] args)
       {
        int port = Integer.parseInt(args[0]);
        try
        {
           Thread t = new GreetingServer(port);
           t.start();
        }catch(IOException e)
        {
           e.printStackTrace();
        }
     }
  }
  </code></pre>
  
  <p>Now, I am unable to run the program in Eclipse, can anyone help me, how to do this ?</p>