linux TCP socket program for java client to c server

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • TsanChung

    linux TCP socket program for java client to c server

    I want to make a java TCP socket client to communicate with a TCP
    server socket on linux.
    Are there some sample C unix server and java client socket programs
    available?

    The Richard Stevens' "Unix network programming" book described a TCP
    server (tcpcliserv04.c ) and client (tcpcli04.c). I compiled and
    executed them successfully as follows:

    $ tcpcliserv04 &
    $ tcpcli04 172.20.11.211
    12
    12
    90
    90


    I start to write a java socket client program but it fail to connect.
    Please help.
    Thanks.

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

    public class socketClientWri teRead
    {
    public static final int PORT = 9877;

    public static void main(String[] args) throws IOException
    {
    String host = "";
    if (args.length >= 1)
    host = args[0];
    //String host = args[0];
    byte[] bytes = new byte[1024];
    int len = 0;
    int ch = 0;
    Socket sock = new Socket(host, PORT);
    InputStream in = sock.getInputSt ream();
    OutputStream out = sock.getOutputS tream();
    System.out.prin tln( "Hello World!" );

    while (len 0 || ch != -1) {
    if ((len = in.read(bytes)) 0)
    System.out.writ e(bytes, 0, len);

    if ((ch = System.in.read( )) != -1)
    out.write(ch);
    } // while
    in.close();
    out.close();
    }
    }

    $ java socketClientWri teRead 172.20.11.66
    Exception in thread "main" java.net.Connec tException: Connection
    refused
    at java.net.PlainS ocketImpl.socke tConnect(Native Method)
    at java.net.PlainS ocketImpl.doCon nect(PlainSocke tImpl.java:
    333)
    at
    java.net.PlainS ocketImpl.conne ctToAddress(Pla inSocketImpl.ja va:195)
    at java.net.PlainS ocketImpl.conne ct(PlainSocketI mpl.java:182)
    at java.net.SocksS ocketImpl.conne ct(SocksSocketI mpl.java:366)
    at java.net.Socket .connect(Socket .java:518)
    at java.net.Socket .connect(Socket .java:468)
    at java.net.Socket .<init>(Socket. java:365)
    at java.net.Socket .<init>(Socket. java:179)
    at socketClientWri teRead.main(soc ketClientWriteR ead.java:18)

  • Nigel Wade

    #2
    Re: linux TCP socket program for java client to c server

    TsanChung wrote:
    I want to make a java TCP socket client to communicate with a TCP
    server socket on linux.
    Are there some sample C unix server and java client socket programs
    available?
    >
    The Richard Stevens' "Unix network programming" book described a TCP
    server (tcpcliserv04.c ) and client (tcpcli04.c). I compiled and
    executed them successfully as follows:
    >
    $ tcpcliserv04 &
    $ tcpcli04 172.20.11.211
    [snip]
    >
    $ java socketClientWri teRead 172.20.11.66
    Did you mean to connect to a different server with the Java client?

    The error below means that the server refused the connection, usually because
    there is nothing listening on the requested port.
    Exception in thread "main" java.net.Connec tException: Connection
    refused
    at java.net.PlainS ocketImpl.socke tConnect(Native Method)
    at java.net.PlainS ocketImpl.doCon nect(PlainSocke tImpl.java:
    333)
    at
    java.net.PlainS ocketImpl.conne ctToAddress(Pla inSocketImpl.ja va:195)
    at java.net.PlainS ocketImpl.conne ct(PlainSocketI mpl.java:182)
    at java.net.SocksS ocketImpl.conne ct(SocksSocketI mpl.java:366)
    at java.net.Socket .connect(Socket .java:518)
    at java.net.Socket .connect(Socket .java:468)
    at java.net.Socket .<init>(Socket. java:365)
    at java.net.Socket .<init>(Socket. java:179)
    at socketClientWri teRead.main(soc ketClientWriteR ead.java:18)
    --
    Nigel Wade

    Comment

    • raxit@m4mum.com

      #3
      Re: linux TCP socket program for java client to c server

      On Oct 10, 7:51 pm, TsanChung <tsanchung.w... @gmail.comwrote :
      I want to make a java TCP socket client to communicate with a TCP
      server socket on linux.
      Are there some sample C unix server and java client socket programs
      available?
      >
      The Richard Stevens' "Unix network programming" book described a TCP
      server (tcpcliserv04.c ) and client (tcpcli04.c).  I compiled and
      executed them successfully as follows:
      >
      $ tcpcliserv04 &
      $ tcpcli04  172.20.11.211
      12
      12
      90
      90
      >
      I start to write a java socket client program but it fail to connect.
      Please help.
      Thanks.
      >
      import java.net.*;
      import java.io.*;
      >
      public class socketClientWri teRead
      {
         public static final int PORT = 9877;
      >
         public static void main(String[] args) throws IOException
         {
               String host = "";
               if (args.length >= 1)
                   host = args[0];
                   //String host = args[0];
               byte[] bytes = new byte[1024];
               int len = 0;
             int ch = 0;
               Socket sock = new Socket(host, PORT);
               InputStream in = sock.getInputSt ream();
               OutputStream out = sock.getOutputS tream();
             System.out.prin tln( "Hello World!" );
      >
               while (len 0 || ch != -1) {
                  if ((len = in.read(bytes)) 0)
                     System.out.writ e(bytes, 0, len);
      >
                if ((ch = System.in.read( )) != -1)
                   out.write(ch);
               } // while
               in.close();
             out.close();
          }
      >
      }
      >
      $ java socketClientWri teRead 172.20.11.66
      Exception in thread "main" java.net.Connec tException: Connection
      refused
              at java.net.PlainS ocketImpl.socke tConnect(Native Method)
              at java.net.PlainS ocketImpl.doCon nect(PlainSocke tImpl.java:
      333)
              at
      java.net.PlainS ocketImpl.conne ctToAddress(Pla inSocketImpl.ja va:195)
              at java.net.PlainS ocketImpl.conne ct(PlainSocketI mpl.java:182)
              at java.net.SocksS ocketImpl.conne ct(SocksSocketI mpl.java:366)
              at java.net.Socket .connect(Socket .java:518)
              at java.net.Socket .connect(Socket .java:468)
              at java.net.Socket .<init>(Socket. java:365)
              at java.net.Socket .<init>(Socket. java:179)
              at socketClientWri teRead.main(soc ketClientWriteR ead.java:18)

      On which port your server is listening ?
      On which port your client is trying to connect to server ?


      Comment

      • Antoninus Twink

        #4
        Re: linux TCP socket program for java client to c server

        On 10 Oct 2008 at 14:51, TsanChung wrote:
        $ tcpcliserv04 &
        [snip]
        I start to write a java socket client program but it fail to connect.
        Your client program seems fine (it's working OK here at least) - as long
        as the server (actually called tcpserv04 in the books's provided source
        code?) is still alive then you shouldn't have any problem connecting.

        Comment

        Working...