i am trying out this code that i got from one of suns tutorials, it deals with echoing an input back to the command prompt.

this is where i got the code
http://java.sun.com/docs/books/tutorial/networking/sockets/readingWriting.html

this is my code, and i am getting the message "Couldn't get I/O for the connection to: 127.0.0.1" printed on the screen.. i think that i might have made a mistake while editing the hostname and port name, please look in to this and help me with the working code ..

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

public class EchoClient {
    public static void main(String[] args) throws IOException {

        Socket echoSocket = null;
        PrintWriter out = null;
        BufferedReader in = null;

        try {
            echoSocket = new Socket("localhost",7);
            out = new PrintWriter(echoSocket.getOutputStream(), true);
            in = new BufferedReader(new InputStreamReader(echoSocket.getInputStream()));
        } catch (UnknownHostException eoo) {
            System.err.println("Don't know about host: 127.0.0.1");
            System.exit(1);
        } catch (IOException eo) {
            System.err.println("Couldn't get I/O for the connection to: 127.0.0.1");
            System.exit(1);
        }

	BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
	String userInput;

	while ((userInput = stdIn.readLine()) != null) {
	    out.println(userInput);
	    System.out.println("echo: " + in.readLine());
	}

	out.close();
	in.close();
	stdIn.close();
	echoSocket.close();
    }
}

Recommended Answers

All 4 Replies

The above code requires that your system have an Echo-Server installed on your system.
Echo-Servers normally listen on port "7" and give back whatever you write on their socket.

If you are on any Microsoft OS chances are that no such server exists on your system. You can also test the presence of an echo server by typing "telnet localhost 7" on your command line and see if it connects. If it displays "Connection Refused", then thats a confirmation that there is no echo server on your system.

However I remember someone posting code for a custom Echo-Server on these forums, if you do a search then you should find it.

If you are on any Microsoft OS chances are that no such server exists on your system. You can also test the presence of an echo server by typing "telnet localhost 7" on your command line and see if it connects. If it displays "Connection Refused", then thats a confirmation that there is no echo server on your system.

And, if you're on a system owned by a company (rather than your own personal) then that server has probably been disabled, regardless of the OS. ;-)

(Most Security guidelines require the disabling of that service.)

And, if you're on a system owned by a company (rather than your own personal) then that server has probably been disabled, regardless of the OS. ;-)

(Most Security guidelines require the disabling of that service.)

i am using my own PC, and its not connected to any network

i am using my own PC, and its not connected to any network

Is there any way i could make this program running .. my ultimate goal is to communicate with other machines, located in another geographical location (using the internet), so this is my first step.. and i am very new to java , so please help me ..

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.