Passend zum vor wenigen Tagen beschriebenen Java Socket Server gibt es heute das Gegenstück: den Java Socket Client.

Im Gegensatz zum Server ist der Client nur während der Anfrage aktiv. Der Server wartet auf die Client-Anfrage, daher hat dieser auch eine While-Schleife implementiert. Der Client setzt nur einen Request ab. Der folgende Quellcode schickt einen Text an den Socket Server, welcher den Text wieder zurück gibt. Die Rückgabe wird am Client auf der Konsole ausgegeben:

Client Quellcode in Java

Eine einfache Beispiel-Client-Anwendung in Java kann wie folgt aussehen:

public class SocketClient
{

public static void main(String[] args) throws IOException
{

SocketClient client = new SocketClient();

}

public SocketClient() throws IOException
{

Socketclient = new Socket("localhost", 2106);
System.out.println(read(socket));
write(socket, "Beispieltext");
System.out.println(read(socket));

}

private void write(Socket client, String text) throws IOException
{

PrintWriter w = new PrintWriter(
new OutputStreamWriter(
client.getOutputStream()));
w.write(text);
w.close();

}

private String read(Socket client) throws IOException
{

BufferedReader bufferedReader =
new BufferedReader(
new InputStreamReader(
client.getInputStream()));
char[] buffer = new char[200];
int anzahlZeichen = bufferedReader.read(buffer, 0, 200);
String nachricht = new String(buffer, 0, anzahlZeichen);
bufferedReader.close();
return nachricht;

}

}

Erklärung

Die main-Methode der Klasse SocketClient ruft den Klassenkonstruktor auf. Die im Klassenkonstruktor vorhandene Zeilen bauen eine Verbindung zum Socket Server auf Port 2106 auf. Der Client empfängt eine Servernachricht und kann einen “Beispieltext” übertragen, welcher im Kontext mit dem von mir verwendeten Socket Server, wieder zurückgegeben wird.

Verknüpft mit Java Socket Server

Java Socket Client
Markiert in: