package elte.java2_utikalauz5.net;
import java.io.*;
import java.net.*;
/**
Egy összeköttetés-alapú kliensalkalmazás.
Ez az alkalmazás felveszi az argumentumaiban megadott nevű számítógép
megadott sorszámú TCP portjával a kapcsolatot, és átküld oda egy
pozitív numerikus értéket, amit a szerver feldolgoz (a jelenlegi
szerver implementáció egyszerűen négyzetre emeli), és visszaküldi a
kapott eredményt.
A programparaméterek:
- Annak a gépnek a neve, ahol a szerver fut
- A szerver TCP portjának a sorszáma
- A szervernek átküldendő szám (ezt emeli négyzetre)
@link.forrásfájl {@docRoot}/../data/net/src CoClTeszt.java
@link.letöltés {@docRoot}/../data/net CoClTeszt.jar
@since Java Útikalauz programozóknak
*/
public class CoClTeszt {
public static int ATKULDENDO_ERTEK ;
public static void hasznalati_utasitas() {
System.out.println("Használat: java CoClTeszt " +
"számítógépnév portsorszám szám");
System.exit(-1);
}
public static void main(String[] args) {
int server_port = 0;
Socket s = null;
String valasz = null;
if (args.length != 3) hasznalati_utasitas();
try { server_port = Integer.parseInt(args[1]); }
catch (NumberFormatException e) { hasznalati_utasitas(); }
try { ATKULDENDO_ERTEK = Integer.parseInt(args[2]); }
catch (NumberFormatException e) { hasznalati_utasitas(); }
try {
/* Létrehozzuk a kommunikációs végpontunkat */
s = new Socket(args[0], server_port);
/* Ezzel tudunk a kommunikációs végpontunkról adatot olvasni: */
BufferedReader input = new BufferedReader(
new InputStreamReader(s.getInputStream()));
/* Ezzel tudunk a kommunikációs végpontunkra adatot írni: */
PrintWriter output = new PrintWriter(s.getOutputStream());
output.println(Integer.toString(ATKULDENDO_ERTEK)); output.flush();
// Elküldtük a szervernek
valasz = input.readLine(); // Megvárjuk a szerver válaszát
// Kiírjuk az eredményt
System.out.println("A kívánt szám négyzete: " + valasz + ".");
} catch (IOException e) {
System.err.println(e); // Kiírtuk a hiba okát ...
}
finally { // Lezárjuk a kommunikációs végponthoz tartozó socketot ...
try { s.close(); } catch (Exception ex) {
System.err.println("Nem tudom lezárni a kapcsolatot!");
}
}
}
}