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: @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!"); } } } }