title: open multiple server socket ports for multiple clients
body: <p>I am trying to open multiple ports on a server socket so that i could connect multiple clients. Each time i create a create a thread and start it (i know the overridden run method will be invoked) i open a port and listen for a client .</p>
  
  <p>But the problem is that when i run the client socket project and try to connect to the port i opened in server ,it says <code>java.net.connectException : connection refused:connect</code>.
  I also noticed a peculiar thing happenning.The output in the console window is different every time i run the "server code "</p>
  
  <p>i have been working on this for the last 3 days and i have achieved nothing i guess.</p>
  
  <p>note: this problem is unique for me as i have not found this particular problem on this forum any where so please be kind as i am a newbie to java and socket programming though i have been coding on c++ for quite some time now .</p>
  
  <p><strong>server socket</strong></p>
  
  <pre><code>import java.io.*;
  import java.net.*;
  import java.io.BufferedReader;
  import java.io.InputStreamReader;
  import java.io.IOException;
  import java.io.PrintWriter;
  import java.lang.*;
  public class TryThreads extends Thread
  {
      private int Portnumber;
      private static String inputLine;
      public TryThreads(int portNumber)
      {
          Portnumber = portNumber;
          setDaemon(true);
      }
      public static void main(String[] args)
      {
          //create three threads
          Thread first = new TryThreads(63400);
          Thread second = new TryThreads(63401);
  
  
          first.start();
          second.start();
          //third.start();
  
          System.out.println("ending main");
          return;
      }
      public void run()
      {
  
          try
          {
              System.out.println("one socket port opened");
              ServerSocket serverSocket = new ServerSocket(Portnumber);
              System.out.println("one socket port opened");
              while (true)
              {
                  System.out.println("ending main2");
                  //System.out.println("one socket port opened");
                  Socket clientSocket = serverSocket.accept();
                  BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
                  while((inputLine = bufferedReader.readLine()) != null)
                  System.out.println(inputLine);
              }
  
          }
          catch(IOException e)
          {
              System.out.println(e);
          }
      }
  }
  </code></pre>
  
  <p><strong>client socket</strong></p>
  
  <pre><code>import java.io.*;
  import java.net.Socket;
  public class client
  {
      private static PrintWriter printWriter;
      public static void main(String[] args)
      {
          BufferedReader in = null;
          try
          {
              Socket socket = new Socket("localhost",63400);
              printWriter = new PrintWriter(socket.getOutputStream(),true);
              printWriter.println("Hello Socket");
              printWriter.println("EYYYYYAAAAAAAA!!!!");
          }
          catch(Exception e)
          {
              System.out.println(e);
          }
      }
  }
  </code></pre>