util
Class NetUtil

java.lang.Object
  extended byutil.NetUtil

public class NetUtil
extends java.lang.Object

Diese Klasse fasst einige Netzwerk-Utilities zusammen

Author:
Stephan Koops

Field Summary
static boolean DEBUG
           
 
Method Summary
static byte[] readByteArray(java.net.Socket socket, int maxLänge)
          Liest aus dem InputStream des Socket die nächsten 4 Bytes, baut daraus eine Integerzahl, interpretiert diesen Wert als Länge und liest entsprechend viele Zeichen aus.
static void sendError(java.net.Socket socket, int messageType, int errorcode)
          Sendet eine Fehlermeldung ins Netz.
static void sendPaket(java.net.Socket socket, byte[] paket)
           
static byte[] toByteArray(int l)
          Wandelt die übergebene int-Zahl in ein Byte-Array um
static int toInt(java.io.InputStream byteStream)
          Liest 4 Zeichen aus dem Stream aus und interpretiert diese als int-Zahl
static void writeArray(java.net.Socket socket, byte[] array)
          Schreibt das übergebene Array auf den OutputStream des Sockets, mit der Längenangabe davor
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEBUG

public static final boolean DEBUG
See Also:
Constant Field Values
Method Detail

readByteArray

public static byte[] readByteArray(java.net.Socket socket,
                                   int maxLänge)
                            throws ConnectionResetException,
                                   java.io.IOException
Liest aus dem InputStream des Socket die nächsten 4 Bytes, baut daraus eine Integerzahl, interpretiert diesen Wert als Länge und liest entsprechend viele Zeichen aus.
Wenn die Länge des zu bildenden Arrays die maximal erlaubte Länge des Arrays überschreitet, wird eine entsprechende Fehlermeldung zurückgeschickt und auf die nächste Nachricht gewartet.

Parameters:
socket -
maxLänge - maximal erlaubte Länge des Arrays (um OutOfMemoryErrors zu verhindern)
Returns:
byte-Array mit den gelesenen Zeichen oder null, wenn der Stream von Anfang an zu Ende ist.
Throws:
ArrayZuLangException - wird geworfen, wenn das zu lesende Array länger ist als erlaubt
ConnectionResetException - wenn der Stream zu Ende ist
java.io.IOException
See Also:
writeArray(Socket, byte[])

toByteArray

public static byte[] toByteArray(int l)
Wandelt die übergebene int-Zahl in ein Byte-Array um


toInt

public static int toInt(java.io.InputStream byteStream)
                 throws ConnectionResetException,
                        java.io.IOException
Liest 4 Zeichen aus dem Stream aus und interpretiert diese als int-Zahl

Throws:
ConnectionResetException
java.io.IOException

writeArray

public static void writeArray(java.net.Socket socket,
                              byte[] array)
                       throws java.io.IOException
Schreibt das übergebene Array auf den OutputStream des Sockets, mit der Längenangabe davor

Throws:
java.io.IOException
See Also:
toByteArray(int)

sendError

public static void sendError(java.net.Socket socket,
                             int messageType,
                             int errorcode)
                      throws KerberosRuntimeException
Sendet eine Fehlermeldung ins Netz. Eine evtl auftretende IOException wird ignoriert.

Parameters:
socket -
messageType -
errorcode -
Throws:
KerberosRuntimeException - Wird geworfen, wenn eine PacketException aufgetreten ist
See Also:
MessageBuilder.buildError(int, int), PacketException

sendPaket

public static void sendPaket(java.net.Socket socket,
                             byte[] paket)
                      throws java.io.IOException
Throws:
java.io.IOException