Class CLIENTPROZESS2

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

 class CLIENTPROZESS2
extends java.lang.Thread

serverseitig laufender Prozess je Client zur Bearbeitung der Kommunikation einer Clientverbindung bei der Platzbuchung
Vorlage für die Aufgabe 2 des Kapitels 2.3.3
Die Stellen, an denen eine Quelltextergänzung notwendig ist, sind mit "Quelltextergänzung" gekennzeichnet.


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
(package private)  SERVER4 server
          Referenz auf den Server,
wird in der Methode ClientVerbindungStarten() gebraucht weil das Serververhalten eine Referenz auf den Server benötigt.
private  java.lang.String serverAntwort
          Botschaft vom Server zum Client
private  PLATZBUCHUNG 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
CLIENTPROZESS2(java.net.Socket clientSocket, SERVER4 server)
          Konstruktor des Clientprozesses
 
Method Summary
private  void ClientVerbindungBeenden()
          beendet die Clientverbindung
private  void ClientVerbindungStarten()
          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 PLATZBUCHUNG 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

SERVER4 server
Referenz auf den Server,
wird in der Methode ClientVerbindungStarten() gebraucht weil das Serververhalten eine Referenz auf den Server benötigt.

Constructor Detail

CLIENTPROZESS2

public CLIENTPROZESS2(java.net.Socket clientSocket,
                      SERVER4 server)
               throws java.io.IOException
Konstruktor des Clientprozesses

Parameters:
clientSocket - die Socketverbindung, über die die Kommunikation stattfindet.
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()
                              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