Class CLIENTPROZESSZ1

java.lang.Object
  extended by java.lang.Thread
      extended by CLIENTPROZESSZ1
All Implemented Interfaces:
java.lang.Runnable

 class CLIENTPROZESSZ1
extends java.lang.Thread

serverseitig laufender Prozess je Client zur Bearbeitung der Kommunikation einer Clientverbindung
über die Startbotschaft, die im Konstruktor übergeben wird, kann das Senden des Stoppsignals für den Client veranlasst werden.


Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
private  java.lang.String clientBotschaft
          Botschaft von Client zum Server
private  java.net.Socket clientSocket
          bidirektionale Schnittstelle zur Netzwerkprotokoll-Implementierung des Clients
private  SERVERZ4 server
          Referenz auf den Server,
wird zum Beenden des Clientprozesses gebraucht um die Methode ClientProzessEntfernen() des Servers aufzurufen.
private  java.lang.String serverAntwort
          Botschaft vom Server zum Client
private  WETTERVERHALTENZ2 serververhalten
          Referenz auf die Klasse, die das Zustandsdiagramm des Servers implementiert
private  java.io.BufferedReader vomClient
          Lesekanal vom Client
private  java.io.PrintWriter zumClient
          Schreibkanal zum Client
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
CLIENTPROZESSZ1(java.net.Socket clientSocket, SERVERZ4 server, java.lang.String startbotschaft)
          Konstruktor des Clientprozesses
 
Method Summary
private  void ClientVerbindungBeenden()
          beendet die Clientverbindung
private  void ClientVerbindungStarten(java.lang.String startbotschaft)
          wartet auf eine Clientverbindung und erzeugt die nötigen Lese- und Schreibobjekte nach dem eine Verbindung hergestellt wurde
 void run()
          liest die Nachrichten vom Client, ermittelt die Antwort unter Verwendung der Klasse WETTERVERHALTEN2 und schickt die Anwort zum Client.
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

clientSocket

private java.net.Socket clientSocket
bidirektionale Schnittstelle zur Netzwerkprotokoll-Implementierung des Clients


zumClient

private java.io.PrintWriter zumClient
Schreibkanal zum Client


vomClient

private java.io.BufferedReader vomClient
Lesekanal vom Client


serververhalten

private WETTERVERHALTENZ2 serververhalten
Referenz auf die Klasse, die das Zustandsdiagramm des Servers implementiert


clientBotschaft

private java.lang.String clientBotschaft
Botschaft von Client zum Server


serverAntwort

private java.lang.String serverAntwort
Botschaft vom Server zum Client


server

private SERVERZ4 server
Referenz auf den Server,
wird zum Beenden des Clientprozesses gebraucht um die Methode ClientProzessEntfernen() des Servers aufzurufen.

Constructor Detail

CLIENTPROZESSZ1

public CLIENTPROZESSZ1(java.net.Socket clientSocket,
                       SERVERZ4 server,
                       java.lang.String startbotschaft)
                throws java.io.IOException
Konstruktor des Clientprozesses

Parameters:
clientSocket - die Socketverbindung, über die die Kommunikation stattfindet.
server - Referenz auf den Server, wird beim Beenden des Prozesses benötigt.
startbotschaft - ist die Startbotschaft gleich "toomuchclients" so wird das Clientstopsignal gesendet.
Throws:
java.io.IOException - eine Ausnahme tritt auf falls:
- der Server nicht gestartet werden kann (weil beispielsweise der Port nicht frei ist)
- die Clientverbindung gestört bzw. unterbrochen wurde.
Method Detail

ClientVerbindungStarten

private void ClientVerbindungStarten(java.lang.String startbotschaft)
                              throws java.io.IOException
wartet auf eine Clientverbindung und erzeugt die nötigen Lese- und Schreibobjekte nach dem eine Verbindung hergestellt wurde

Throws:
java.io.IOException

ClientVerbindungBeenden

private void ClientVerbindungBeenden()
                              throws java.io.IOException
beendet die Clientverbindung

Throws:
java.io.IOException

run

public void run()
liest die Nachrichten vom Client, ermittelt die Antwort unter Verwendung der Klasse WETTERVERHALTEN2 und schickt die Anwort zum Client.

Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread