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