|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectanon.transport.connection.SocketConnection
public class SocketConnection
Adaptiert ein Socket um es im Sinne einer IStreamConnection zu
verwenden.
Da Ein- und Ausgabestrom nur als Paar auftreten und fester Bestandteil der
IStreamConnection sind, wird bereits waehrend der Initlisierung
versucht den Ein- und Ausgabestrom des Sockets zu bekommen. Sollte dies nicht
moeglich sein, wird die Verbindung bereits zu begin als geschlossen markiert.
Deswegen ist es wichtig SocketConnection nur in Verbindung mit offenen und
verbunden Sockets zu verwenden.
Ausserdem wird angennomme das sich Ein- und Ausgabestrom des Sockets nicht
aendern.
| Field Summary | |
|---|---|
private java.io.InputStream |
m_inputStream
Der Eingabstrom der Verbindung. |
private int |
m_internalState
Der interne Zustand der Verbindung. |
private IAddress |
m_localAddress
Die Adresse des lokalen Endpunktes |
private java.io.OutputStream |
m_outputStream
Der Ausgabestrom der Verbindung. |
private IAddress |
m_remoteAddress
Die Adresse des entfernten Endpunktes |
private java.net.Socket |
m_underlyingSocket
Das Socket auf welchem die Verbindung aufbaut |
| Fields inherited from interface anon.transport.connection.IConnection |
|---|
ConnectionState_CLOSE, ConnectionState_OPEN |
| Constructor Summary | |
|---|---|
SocketConnection(java.net.Socket a_underlyingSocket)
Erstellt eine neue SocketConnection auf Basis des uebergebenen Sockets. |
|
| Method Summary | |
|---|---|
void |
close()
|
int |
getCurrentState()
Gibt den momentanen Zustand der Verbindung an. |
java.io.InputStream |
getInputStream()
Liefert den Eingabestrom der Verbinundung, ueber welchen kontinuierlich Daten empfangen werden koennen. |
IAddress |
getLocalAddress()
Gibt die Adresse des lokalen Endpunkt der Verbindung an. |
java.io.OutputStream |
getOutputStream()
Liefert den Ausgabestrom der verbindung, ueber welchem Daten gesendet werden koennen. |
IAddress |
getRemoteAddress()
Gibt die Adresse des entfernten Endpunkt an. |
int |
getTimeout()
Ermittelt den momentanen Wert fuer das Timeout in Millisekunden fuer Lese- und Schreiboperationen der Verbindung. |
private void |
setCLOSE()
Interne Hilfsfunktion, welche beim Wechsel in den CLOSE-Zustand augerufen, werden sollte. |
void |
setTimeout(int value)
Setzt den Timeout in Millisekunden fuer die Lese- und Schreiboperationen der Verbindung. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private java.net.Socket m_underlyingSocket
private java.io.OutputStream m_outputStream
private java.io.InputStream m_inputStream
private int m_internalState
private IAddress m_localAddress
private IAddress m_remoteAddress
| Constructor Detail |
|---|
public SocketConnection(java.net.Socket a_underlyingSocket)
Das uebergebene Socket darf nicht geschlossen sein, da im Sinne einer Verbindung, die Kommunikationsbeziehung bereits eingerichtet sein muss.
a_underlyingSocket - Das offene und verbunde Socket, welches als Basis der
Verbinung genutzt werden soll| Method Detail |
|---|
private void setCLOSE()
public java.io.InputStream getInputStream()
IStreamConnection
getInputStream in interface IStreamConnectionpublic java.io.OutputStream getOutputStream()
IStreamConnection
getOutputStream in interface IStreamConnection
public int getTimeout()
throws ConnectionException
IConnectionSocket
folgend, bestimmt 0 ein unendliches Timeout.
getTimeout in interface IConnectionConnectionException - Wird geworfen, wenn der Wert nicht ermittelt werden kann.
public void setTimeout(int value)
throws ConnectionException
IConnectionSocket folgend, bestimmt 0 ein
unendliches Timeout.
setTimeout in interface IConnectionConnectionException - Wird geworfen, wenn das setzen des TimeOut nicht moegliche
war. Insbesondere kann durch eine
UnsuportedCommandException Ausnahme angegben werde,
das das setzen generell nicht moeglich ist.
public void close()
throws java.io.IOException
close in interface IConnectionjava.io.IOExceptionpublic int getCurrentState()
IConnection
Die Belegung sollte dabei den in ConnectionState definierten
Konstanten folgen.
getCurrentState in interface IConnectionpublic IAddress getLocalAddress()
IConnectionFuer Implentierungen, welche eine Bereits eingerichte Verbindung kapsel um weitere Funktionalitaet bereitzustellen, sollte diese Methode die Adresse der drunterlegenen Verbindung zurueckgeben.
getLocalAddress in interface IConnectionpublic IAddress getRemoteAddress()
IConnectionFuer Implentierungen, welche eine Bereits eingerichte Verbindung kapsel um weitere Funktionalitaet bereitzustellen, sollte diese Methode die Adresse der drunterlegenen Verbindung zurueckgeben.
getRemoteAddress in interface IConnection
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||