[[oktatas:programozás:java|< Java]] ====== Szerver-Kliens programok ====== * **Szerző:** Sallai András * Copyright (c) 2014, Sallai András * Szerkesztve: 2014, 2015 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] * Web: https://szit.hu ===== A kliens mindig olvas ===== Ebben a példában a kliens program sosem küld semmit a szerver felé. Csak nyit rá egy kapcsolatot és onnan olvas. import java.io.*; import java.net.*; class Szerver { public static void main(String args[]) { String data = "Lenni, vagy nem lenni"; while(true) { try { ServerSocket szerver = new ServerSocket(1234); Socket socket = szerver.accept(); System.out.print("Van egy kapcsolat\n"); PrintWriter out = new PrintWriter(socket.getOutputStream(), true); System.out.print("Ezt küldtük '" + data + "'\n"); out.print(data); out.close(); socket.close(); szerver.close(); } catch(Exception e) { System.out.print("Hiba a szerver indítása során\n"); } } } } import java.io.*; import java.net.*; class Kliens { public static void main(String args[]) { try { Socket socket = new Socket("localhost", 1234); BufferedReader in = new BufferedReader( new InputStreamReader(socket.getInputStream())); System.out.print("Fogadott szöveg: '"); while (!in.ready()) {} // Egy sor olvasása, majd kiíratása System.out.println(in.readLine()); System.out.print("'\n"); in.close(); } catch(Exception e) { System.out.print("Hiba a kapcsolódás során!\n"); } } } ===== A kliens küld, a szerver válaszol ===== import java.io.*; import java.net.*; class Szerver { public static void main(String argv[]) { String kliensMondja; try { ServerSocket szerver = new ServerSocket(1234); while(true) { Socket socket = szerver.accept(); InputStreamReader folyam = new InputStreamReader(socket.getInputStream()); BufferedReader kliensOlvaso = new BufferedReader(folyam); DataOutputStream valaszKliensnek = new DataOutputStream(socket.getOutputStream()); kliensMondja = kliensOlvaso.readLine(); System.out.println("Kliens küldte: " + kliensMondja); valaszKliensnek.writeBytes("Uzenetett vettem!\n"); } } catch (Exception e) { System.err.println("Hiba a szerver működése során!"); } } } import java.io.*; import java.net.*; class Kliens { public static void main(String argv[]) { String uzenet; String valasz; try { InputStreamReader folyam = new InputStreamReader(System.in); BufferedReader olvaso = new BufferedReader(folyam); Socket socket = new Socket("localhost", 1234); DataOutputStream valaszSzervernek = new DataOutputStream(socket.getOutputStream()); InputStreamReader szerverFolyam = new InputStreamReader(socket.getInputStream()); BufferedReader szerverValasz = new BufferedReader(szerverFolyam); uzenet = olvaso.readLine(); valaszSzervernek.writeBytes(uzenet + '\n'); valasz= szerverValasz.readLine(); System.out.println("A szerver üzeni: " + valasz); socket.close(); } catch(Exception e) { System.err.println("Hiba a szerverhez kapcsolódás során!"); } } }