Connecting to a socket client

I am trying to learn how to use sockets in java I have given an example from the Tutorials point but I cannot get it to work (Socket Client example). The only changes I made was that instead of carrying the port name and hostname from args

, I hardcode the port and get the localhost. The code I have is as follows

import java.net.*;
import java.io.*;

public class GreetClient
{
   public static void main(String [] args)
   {
      InetAddress lHost=null;
      try { lHost = InetAddress.getLocalHost(); }
      catch(Exception e) { System.out.println("Local Host Error");}
      int port = 1234;
      try
      {
         System.out.println("Connecting to " + lHost + " on port " + port);
         Socket client = new Socket(lHost, 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();
      }
   }
}

      

The error I am getting:

Connecting to Bridgets_laptop/192.168.56.1 on port 1234
java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:579)
    at java.net.Socket.connect(Socket.java:528)
    at java.net.Socket.<init>(Socket.java:425)
    at java.net.Socket.<init>(Socket.java:241)
    at GreetClient.main(GreetClient.java:27)

      

Any ideas where I'm going wrong?

+3


source to share


1 answer


The "Connection refused" part sounds like you either have a firewall that is blocking your own application from accessing Socket1234, or you haven't opened the Server 1234 server yet.

Can you connect to ServerSocket with



telnet 127.0.0.1 1234

      

if you are using windows?

+1


source







All Articles