< Java

Szerver-Kliens programok

Szerző: Sallai András

Copyright © Sallai András, 2014, 2015

Licenc: GNU Free Documentation License 1.3

Web: http://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!"); } } }