kerberos.net.test
Class KerberosTestSocket

java.lang.Object
  extended bykerberos.net.test.KerberosTestSocket
All Implemented Interfaces:
KerberosSocket

public class KerberosTestSocket
extends java.lang.Object
implements KerberosSocket

Diese Klasse dient für eine konkrete Verbindung zu einem Client. Diese ist dann schon aufgebaut und steht erfolgreich.

Author:
Stephan Koops

Method Summary
 void close()
          Beendet die Verbindung.
 java.net.InetAddress getInetAddress()
          Gibt die IP-Adresse zurück, zu dem der Socket verbunden ist.
 int getMaxArrayLength()
          Gibt die maximal erlaubte Länge für zu empfangende Arrays zurück.
 int getPort()
          Gibt den port zurück, zu dem der Socket verbunden ist.
 java.lang.String getUsername()
          Diese Methode gibt den Namen des Benutzers zurück, der sich eingeloggt hat.
 boolean isClosed()
           
 void print(byte[] zeichen)
          Schreibt ein Byte-Array.
 void print(java.lang.String zeichen)
          Schreibt ein Byte-Array.
 byte[] printRead(byte[] zeichen)
          Jetzt die synchrone Variante ...
 java.lang.String printRead(java.lang.String zeichen)
           
 byte[] read()
          Liest die nächsten Daten aus und gibt sie als Byte-Array bzw. als String zurück.
 java.lang.String readString()
          Liest einen String aus dem Netz.
 void setMaxArrayLength(int i)
          Setzt die maximal erlaubte Länge für zu empfangende Nachrichten
static void tuNix(java.lang.Object o)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

print

public void print(java.lang.String zeichen)
           throws java.io.IOException
Schreibt ein Byte-Array.

Specified by:
print in interface KerberosSocket
Parameters:
zeichen -
Throws:
java.io.IOException
See Also:
KerberosSocket.print(byte[]), KerberosSocket.readString()

print

public void print(byte[] zeichen)
           throws java.io.IOException
Schreibt ein Byte-Array.

Specified by:
print in interface KerberosSocket
Parameters:
zeichen -
Throws:
java.io.IOException
See Also:
KerberosSocket.read()

printRead

public byte[] printRead(byte[] zeichen)
                 throws sun.net.ConnectionResetException,
                        SendeArrayZuLangException,
                        java.io.IOException
Description copied from interface: KerberosSocket

Jetzt die synchrone Variante ...
Sendet das übergebenen Byte-Array (bzw. den String) verschlüsselt ab und wartet auf die Antwort vom Zieldienst. Liest die nächsten Daten aus und gibt sie als Byte-Array (bzw. als String) zurück. Es ist egal, ob die Daten von der gegenüberliegenden Seite als String oder als Byte-Array gesendet wurden.
Die Methode blockiert, wenn nicht genug Daten von der Gegenseite zur Verfügung stehen.

Alle Exceptions außer der IOException sind von KerberosException abgeleitet, so dass es reicht, die IOException und die KerberosException abzufangen, wenn man die Exceptions nicht weiter auswerten möchte.

Specified by:
printRead in interface KerberosSocket
Parameters:
zeichen -
Returns:
Schickt ein byte-Array durchs Netz, wartet auf die Antwort des Gegenüber und gint das empfangene Byte-Array zurück
Throws:
java.io.IOException
SendeArrayZuLangException - Wird geworfen, wenn das gesendete Array zu lang war.
sun.net.ConnectionResetException
See Also:
KerberosSocket.print(byte[]), KerberosSocket.print(String), KerberosSocket.read(), KerberosSocket.readString()

printRead

public java.lang.String printRead(java.lang.String zeichen)
                           throws sun.net.ConnectionResetException,
                                  SendeArrayZuLangException,
                                  java.io.IOException
Specified by:
printRead in interface KerberosSocket
Throws:
sun.net.ConnectionResetException
SendeArrayZuLangException
java.io.IOException
See Also:
KerberosSocket.printRead(byte[])

read

public byte[] read()
            throws sun.net.ConnectionResetException,
                   SendeArrayZuLangException,
                   java.io.IOException
Description copied from interface: KerberosSocket
Liest die nächsten Daten aus und gibt sie als Byte-Array bzw. als String zurück. Es ist egal, ob die Daten von der anderen Seite als Byte-Array oder als String gesendet wurden. Blockiert, wenn nicht genug Daten zur Verfügung stehen. Alle Exceptions außer der IOException sind von KerberosException abgeleitet, so dass es reicht, die IOException und die KerberosException abzufangen, wenn man die Exceptions nicht weiter auswerten möchte.

Specified by:
read in interface KerberosSocket
Returns:
Gibt das nächste zur Verfügung stehende Byte-Array zurück. Blockiert, wenn keine (oder nicht genug Daten) zur Verfügung stehen.
Throws:
SendeArrayZuLangException - Wird geworfen, wenn das letzte gesendete Array zu lang war. Der Entwickeler muss überlegen, ob er programmiert bekommt, dass er die Nachricht nochmal sendet oder die Verbindung beendet. In der Methode printRead(..) ist dies sicher einfacher.
java.io.IOException - Wenn es Netzwerkprobleme gab
sun.net.ConnectionResetException
See Also:
KerberosSocket.printRead(byte[]), NonceFalschException, PasswortFalschException, ClientnameFalschException, UnerwarteteNachrichtException, ErstEmpfangenException

readString

public java.lang.String readString()
                            throws sun.net.ConnectionResetException,
                                   SendeArrayZuLangException,
                                   java.io.IOException
Description copied from interface: KerberosSocket
Liest einen String aus dem Netz.

Specified by:
readString in interface KerberosSocket
Throws:
sun.net.ConnectionResetException
SendeArrayZuLangException
java.io.IOException
See Also:
KerberosSocket.read()

close

public void close()
           throws java.io.IOException
Description copied from interface: KerberosSocket
Beendet die Verbindung.

Specified by:
close in interface KerberosSocket
Throws:
java.io.IOException
See Also:
KerberosSocket.close()

isClosed

public boolean isClosed()
Specified by:
isClosed in interface KerberosSocket
Returns:
Gibt zurück, ob der Socket geschlossen ist.
See Also:
KerberosSocket.isClosed()

getUsername

public java.lang.String getUsername()
Description copied from interface: KerberosSocket
Diese Methode gibt den Namen des Benutzers zurück, der sich eingeloggt hat. Dies gilt auch auf der Client-Seite.

Specified by:
getUsername in interface KerberosSocket
See Also:
KerberosSocket.getUsername()

getInetAddress

public java.net.InetAddress getInetAddress()
Description copied from interface: KerberosSocket
Gibt die IP-Adresse zurück, zu dem der Socket verbunden ist.

Specified by:
getInetAddress in interface KerberosSocket
See Also:
KerberosSocket.getInetAddress()

getPort

public int getPort()
Description copied from interface: KerberosSocket
Gibt den port zurück, zu dem der Socket verbunden ist.

Specified by:
getPort in interface KerberosSocket
See Also:
KerberosSocket.getPort()

getMaxArrayLength

public int getMaxArrayLength()
Description copied from interface: KerberosSocket
Gibt die maximal erlaubte Länge für zu empfangende Arrays zurück.

Specified by:
getMaxArrayLength in interface KerberosSocket
See Also:
KerberosSocket.getMaxArrayLength()

setMaxArrayLength

public void setMaxArrayLength(int i)
Description copied from interface: KerberosSocket
Setzt die maximal erlaubte Länge für zu empfangende Nachrichten

Specified by:
setMaxArrayLength in interface KerberosSocket
See Also:
KerberosSocket.setMaxArrayLength(int)

tuNix

public static void tuNix(java.lang.Object o)