Program uzywający połaczenia przez gniazdo.

0

Witam.

Uczę się podstaw programowania sieciowego w javie, i natrafiłem na taki przykład:

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

public class JavaNet {

public static void main(String[] args) throws IOException {
    Socket echoSocket = null;
    PrintWriter out = null;
    BufferedReader in = null;

    try {
        echoSocket = new Socket("co tu wipsac?????", 7);
        out = new PrintWriter(echoSocket.getOutputStream(), true);
        in = new BufferedReader(new InputStreamReader(
                                    echoSocket.getInputStream()));
    } catch (UnknownHostException e) {
        System.err.println("Don't know about host: ******.");
        System.exit(1);
    } catch (IOException e) {
        System.err.println("Couldn't get I/O for "
                           + "the connection to: ***.");
        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();
}

}

Przeczytałem ,że numer gniazda 7 odpowiada za usługę "echo", ale nie wiem co mam wpisać jako pierwszy argument konstruktora klasy Socket, wpisywałem www.google.com,www.java.com oraz IP swojego komputera ale nic za każdym razem wywala IOException. Co powinienem wpisać ??

0

Może coś w ten deseń?

public static final int PORT = 4444;
InetAddress address = InetAddress.getLocalHost();
echoSocket = new Socket(address , PORT);

1

Wywala błąd bo nie może nawiązać połączenia z tymi stronami na porcie 7 bo nie świadczą takich usług widocznie ;)
Druga sprawa to to, że warto wypisywać stackTrace w tym bloku catch (e.printStackTrace), czasami jest dość pomocny w przyczynie problemu.

Poszukaj kodu jakiegoś echo servera i odpal u siebie, następnie w kodzie Twojego programu new Socket("localhost", nrPortuNaKtorymOdpalilesEchoServer).
Poniżej masz przykład, testowany telnetem - działał bez problemu, łącząc się za pomocą Twojego programu to też coś działało ale słabo,
nie chce mi się dochodzić w czym problem.

http://gauss.ececs.uc.edu/Users/Franco/EchoServer/ServerApplet.java.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1