/* * Copyright (C) 2021 eichehome * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ package utils; import java.io.IOException; import java.io.ObjectOutputStream; /** * Dies Klasse stellt einen Client mit seinen Streams dar. * * @author eichehome */ public class Client { private final ObjectOutputStream out; private final Thread pusher; private final Thread reciver; /** * Konstruktor * @param out Stream, um diesem Client Nachrichten schicken zu können. * @param pusher Zeiger auf den Thread, der die Nachrichten an den Client sendet. * @param reciver Zeiger auf den Thread, der die Nachrichten eines Clients empfängt. */ public Client(ObjectOutputStream out, Thread pusher, Thread reciver) { this.out = out; this.pusher = pusher; this.reciver = reciver; } /** * Schreibe eine Nachricht in den OutputStream dieses Clients. * @param message Die zu verschickende Nachricht. */ public void writeMessage(Message message) { try { this.out.writeObject(message); } catch (IOException ex) { System.err.println("Cliet: Fehler: " + ex); } } /** * Getter für den OutputStream diese Clients * @return Zeiger auf den Stream. */ public ObjectOutputStream getOutputStream() { return this.out; } /** * Getter für den Thread, der Nachrichten an diesen Client sendet. * @return Zeiger auf den Thread. */ public Thread getPusher() { return this.pusher; } /** * Getter für den Thread, der Nchrichten an diesen Client sendet. * @return Zeiger auf den Thread. */ public Thread getReciver() { return this.reciver; } }