By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,584 Members | 1,803 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,584 IT Pros & Developers. It's quick & easy.

linux TCP socket program for java client to c server

P: n/a
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 socketClientWriteRead
{
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.getInputStream();
OutputStream out = sock.getOutputStream();
System.out.println( "Hello World!" );

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

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

$ java socketClientWriteRead 172.20.11.66
Exception in thread "main" java.net.ConnectException: Connection
refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl .java:
333)
at
java.net.PlainSocketImpl.connectToAddress(PlainSoc ketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.j ava:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.j ava: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 socketClientWriteRead.main(socketClientWriteRead.j ava:18)

Oct 10 '08 #1
Share this Question
Share on Google+
3 Replies


P: n/a
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 socketClientWriteRead 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.ConnectException: Connection
refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl .java:
333)
at
java.net.PlainSocketImpl.connectToAddress(PlainSoc ketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.j ava:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.j ava: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 socketClientWriteRead.main(socketClientWriteRead.j ava:18)
--
Nigel Wade
Oct 10 '08 #2

P: n/a
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 socketClientWriteRead
{
* *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.getInputStream();
* * * * *OutputStream out = sock.getOutputStream();
* * * *System.out.println( "Hello World!" );

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

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

}

$ java socketClientWriteRead 172.20.11.66
Exception in thread "main" java.net.ConnectException: Connection
refused
* * * * at java.net.PlainSocketImpl.socketConnect(Native Method)
* * * * at java.net.PlainSocketImpl.doConnect(PlainSocketImpl .java:
333)
* * * * at
java.net.PlainSocketImpl.connectToAddress(PlainSoc ketImpl.java:195)
* * * * at java.net.PlainSocketImpl.connect(PlainSocketImpl.j ava:182)
* * * * at java.net.SocksSocketImpl.connect(SocksSocketImpl.j ava: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 socketClientWriteRead.main(socketClientWriteRead.j ava:18)

On which port your server is listening ?
On which port your client is trying to connect to server ?
Oct 18 '08 #3

P: n/a
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.

Oct 18 '08 #4

This discussion thread is closed

Replies have been disabled for this discussion.