title: Socket connection refused in Client Code
body: <p>The below program causes this issue  </p>
  
  <p><strong>EDITED:</strong></p>
  
  <pre><code>import java.io.*;
  import java.net.*;
  public class smtpClient {
      public static void main(String[] args) {
  // declaration section:
  // smtpClient: our client socket
  // os: output stream
  // is: input stream
          Socket smtpSocket = null;  
          DataOutputStream os = null;
          DataInputStream is = null;
  // Initialization section:
  // Try to open a socket on port 25 : step 1
  // Try to open input and output streams: step 2
          try {
              smtpSocket = new Socket("192.168.1.2", 1024);
              os = new DataOutputStream(smtpSocket.getOutputStream());
              is = new DataInputStream(smtpSocket.getInputStream());
          } catch (UnknownHostException e) {
              System.err.println("Don't know about host: hostname");
          } catch (IOException e) {
              System.err.println("Couldn't get I/O for the connection to: hostname");
          }
  // If everything has been initialized then we want to write some data
  // to the socket we have opened a connection to on port 25
      if (smtpSocket != null &amp;&amp; os != null &amp;&amp; is != null) {
              try {
  // The capital string before each colon has a special meaning to SMTP
  // you may want to read the SMTP specification, RFC1822/3
          os.writeBytes("HELO\n");    
                  os.writeBytes("MAIL From: k3is@fundy.csd.unbsj.ca\n");
                  os.writeBytes("RCPT To: k3is@fundy.csd.unbsj.ca\n");
                  os.writeBytes("DATA\n");
                  os.writeBytes("From: k3is@fundy.csd.unbsj.ca\n");
                  os.writeBytes("Subject: testing\n");
                  os.writeBytes("Hi there\n"); // message body
                  os.writeBytes("\n.\n");
          os.writeBytes("QUIT");
  // keep on reading from/to the socket till we receive the "Ok" from SMTP,
  // once we received that then we want to break.
                  String responseLine;
                  while ((responseLine = is.readLine()) != null) {
                      System.out.println("Server: " + responseLine);
                      if (responseLine.indexOf("Ok") != -1) {
                        break;
                      }
                  }
  // clean up:
  // close the output stream
  // close the input stream
  // close the socket
                  os.close();
                  is.close();
                  smtpSocket.close();   
              } catch (UnknownHostException e) {
                  System.err.println("Trying to connect to unknown host: " + e);
              } catch (IOException e) {
                  System.err.println("IOException:  " + e);
              }
          }
      }           
  }
  </code></pre>
  
  <p>Console Log :</p>
  
  <pre><code>Couldn't get I/O for the connection to: hostname
  </code></pre>
  
  <p>The program I took is from :
  <a href="http://www.javaworld.com/jw-12-1996/jw-12-sockets.html?page=4" rel="nofollow">http://www.javaworld.com/jw-12-1996/jw-12-sockets.html?page=4</a>       </p>
  
  <p>I have already tried modifying  the port from 25 to 1024<br>
  I am running it on my local PC, so I am admin on this system, but not sure if there is any default firewall issue(running this in eclipse on windows 7)</p>
  
  <p><strong>As per your comments below :</strong> DO I need to make a listner, which mean to say a Server Socket, which will listen to smtp client requests  </p>