Class Client
- java.lang.Object
-
- de.bsvrz.kex.tls.osi2osi3.osi2.api.AbstractDataLinkLayer
-
- de.bsvrz.kex.tls.osi2osi3.osi2.tlsoip.Client
-
- All Implemented Interfaces:
de.bsvrz.kex.tls.osi2osi3.osi2.api.DataLinkLayer
,de.bsvrz.kex.tls.osi2osi3.properties.PropertyQueryInterface
public class Client extends de.bsvrz.kex.tls.osi2osi3.osi2.api.AbstractDataLinkLayer implements de.bsvrz.kex.tls.osi2osi3.properties.PropertyQueryInterface
Klasse, die als OSI-2 Protokollmodul für den Client-seitigen Teil einer TLSoIP-Verbindung eingesetzt werden kann.Zur Verwendung dieses Protokollmoduls ist an dem jeweiligen Anschlusspunkt in der Konfiguration in der Attributgruppe "atg.anschlussPunkt" im Attribut "ProtokollTyp" der Wert "de.bsvrz.kex.tls.osi2osi3.osi2.tlsoip.Client" einzutragen.
Im Parameter "atg.protokollEinstellungenStandard" des Anschlußpunkts können die Standardwerte für alle Verbindungen an diesem Anschlußpunkt eingestellt.
Im Parameter "atg.protokollEinstellungenPrimary" der dem Anschlußpunkt zugeordneten AnschlußPunktKommunikationsPartner können individuelle Werte für die Verbindung zum jeweiligen Kommunikationspartner eingestellt werden.
Die Parameterdatensätze können dabei mehrere Einträge enthalten, die jeweils aus einem Namen und einem Wert bestehen.
Folgende Einträge werden unterstützt (siehe auch TLS 2009, Teil 2, Datenübertragung über TCP/IP (TLSoIP):
Verbindungsparameter für beide Verbindungspartner:
TLSoIP Name Defaultwert Beschreibung tlsoip.C_HelloDelay 30 Zeit [s], nach der ein Keep-Alive-Telegramm an die Gegenstelle versendet werden muss (0=ausgeschaltet für Testzwecke, 1...3599). tlsoip.C_HelloTimeout 60 Zeit [s], nach der spätestens ein Keep-Alive-Telegramm der Gegenstelle erwartet wird ( > C_HelloDelay der Gegenstelle), (0=ausgeschaltet für Testzwecke, 1...3600). tlsoip.C_ReceiptCount 10 Anzahl empfangener/gesendeter Telegramme, nach der spätestens ein Quittungstelegramm versendet werden muss/erwartet wird (1..255). tlsoip.C_ReceiptDelay 15 Zeit [s], nach der nach Erhalt eines Telegramms spätenstens ein Quittierungstelegramm an die Gegenstelle versendet werden muss (1..59). tlsoip.C_ReceiptTimeout 30 Zeit [s], nach der spätestens ein Quittungstelegramm von der Gegenstelle erwartet wird (> C_ReceiptDelay der Gegenstelle) (1..60). tlsoip.C_SecureConnection nein WIRD AKTUELL NICHT UNTERSTÜTZT (immer nein): Verbindung wird ohne SSL betrieben (nein), Verbindung wird mit SSL betrieben (ja). TLSoIP Name Defaultwert Beschreibung tlsoip.C_ServerAdrA IP-Adresse des Servers. tlsoip.C_AcceptPortA Portnummer des Servers. tlsoip.C_ReconnectDelay 20 Zeit [s], nach der bei Nichtbestehen einer Verbindung spätestens ein neuer Verbindungsaufbau initiiert werden muss (0=sofort, 1...3600). tlsoip.C_ConnectDuration 0 AKTUELL WIRD NUR "0=immer" UNTERSTÜTZT!
Dauer [s], für die eine Verbindung vom Client aufrecht erhalten werden soll (0=immer, 1...3600).tlsoip.C_ConnectDelay 00 05 00 WIRD AKTUELL NICHT UNTERSTÜTZT!
Zeit [hh mm ss], nach der zur Prüfung der Erreichbarkeit des Servers ein Verbindungsaufbau stattfinden muss (optional, nur für temporäre Verbindungen) (00 00 01...23 59 59).tlsoip.C_ServerAdrB WIRD AKTUELL NICHT UNTERSTÜTZT!
IP-Adresse des Alternativ-Serverstlsoip.C_AcceptPortB WIRD AKTUELL NICHT UNTERSTÜTZT!
Portnummer des Alternativ-Serverstlsoip.waitForInitialReceive nein Wenn "ja", dann wartet das Protokoll nach dem Aufbau der TCP-Verbindung auf den Empfang eines initialen Telegramms, bevor eine Verbindung als "lebt" gemeldet wird.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Client.ActionType
Definiert die Aktionscodes, die von den API-Methoden zur Steuerung des Protokoll-Threads versendet werden
-
Constructor Summary
Constructors Constructor Description Client()
Default-Konstruktor, mit dem neue TLSoverIP-Client Protokolle instanziiert werden können.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
abort()
Bricht die Kommunikation auf allen Verbindungen des Protokolls sofort ab und beendet anschließend das Protokoll.de.bsvrz.kex.tls.osi2osi3.osi2.api.DataLinkLayer.Link
createLink(int remoteAddress)
Erzeugt ein neues Verbindungsobjekt.protected java.lang.String
getDefaultProperty(java.lang.String name)
Liefert den Standard-Wert für eine Eigenschaft an einem Anschlusspunkt bei TLS over IP.int
getMaximumDataSize()
Bestimmt die maximale Anzahl von Nutzdatenbytes in einem OSI-2 Paket (Telegramm).boolean
isStarted()
Bestimmt, ob die Kommunikation dieses Protokolls bereits mit der Methodestart()
aktiviert wurde.void
setDavConnection(de.bsvrz.dav.daf.main.ClientDavInterface connection)
Nimmmt die Verbindung zum Datenverteiler entgegen.void
setProperties(java.util.Properties properties)
Setzt neue Protokollparameter.void
shutdown()
Terminiert alle Verbindungen des Protokolls und beendet anschließend das Protokoll.void
start()
Initialisiert das Protokoll und startet den Protokoll-Threadjava.lang.String
toString()
Gibt Informationen des Protokolls für Debugzwecke zurück.-
Methods inherited from class de.bsvrz.kex.tls.osi2osi3.osi2.api.AbstractDataLinkLayer
addEventListener, allowConnection, allowConnection, checkConnection, getLocalAddress, getProperty, notifyEvent, notifyEvent, removeEventListener, setLocalAddress
-
-
-
-
Method Detail
-
abort
public void abort()
Bricht die Kommunikation auf allen Verbindungen des Protokolls sofort ab und beendet anschließend das Protokoll.- Specified by:
abort
in interfacede.bsvrz.kex.tls.osi2osi3.osi2.api.DataLinkLayer
-
createLink
public de.bsvrz.kex.tls.osi2osi3.osi2.api.DataLinkLayer.Link createLink(int remoteAddress)
Erzeugt ein neues Verbindungsobjekt.- Specified by:
createLink
in interfacede.bsvrz.kex.tls.osi2osi3.osi2.api.DataLinkLayer
- Parameters:
remoteAddress
- OSI-2 Adresse des Kommunikationspartners- Returns:
- Neues Verbindungsobjekt
-
isStarted
public boolean isStarted()
Bestimmt, ob die Kommunikation dieses Protokolls bereits mit der Methodestart()
aktiviert wurde.- Specified by:
isStarted
in interfacede.bsvrz.kex.tls.osi2osi3.osi2.api.DataLinkLayer
- Returns:
true
, wenn die Kommunikation dieses Protokolls bereits aktiviert wurde, sonstfalse
.
-
setDavConnection
public void setDavConnection(de.bsvrz.dav.daf.main.ClientDavInterface connection)
Nimmmt die Verbindung zum Datenverteiler entgegen. Diese Methode wird vom OSI-3 Modul nach dem Erzeugen des OSI-2 Moduls durch den jeweiligen Konstruktor aufgerufen. Eine Implementierung eines Protokollmoduls kann sich bei Bedarf die übergebene Datenverteilerverbindung intern merken, um zu späteren Zeitpunkten auf die Datenverteiler-Applikationsfunktionen zuzugreifen.- Specified by:
setDavConnection
in interfacede.bsvrz.kex.tls.osi2osi3.osi2.api.DataLinkLayer
- Parameters:
connection
- Verbindung zum Datenverteiler
-
setProperties
public void setProperties(java.util.Properties properties)
Setzt neue Protokollparameter. Alle Verbindungen werden mit den neuen Parametern reinitialisiert.- Specified by:
setProperties
in interfacede.bsvrz.kex.tls.osi2osi3.osi2.api.DataLinkLayer
- Overrides:
setProperties
in classde.bsvrz.kex.tls.osi2osi3.osi2.api.AbstractDataLinkLayer
- Parameters:
properties
- Neue Protokoll und Verbindungsparameter
-
shutdown
public void shutdown()
Terminiert alle Verbindungen des Protokolls und beendet anschließend das Protokoll.- Specified by:
shutdown
in interfacede.bsvrz.kex.tls.osi2osi3.osi2.api.DataLinkLayer
-
start
public void start()
Initialisiert das Protokoll und startet den Protokoll-Thread- Specified by:
start
in interfacede.bsvrz.kex.tls.osi2osi3.osi2.api.DataLinkLayer
-
toString
public java.lang.String toString()
Gibt Informationen des Protokolls für Debugzwecke zurück. Das genaue Format ist nicht festgelegt und kann sich ändern..- Overrides:
toString
in classjava.lang.Object
- Returns:
- Gibt Informationen des Protokolls für Debugzwecke zurück
-
getDefaultProperty
protected java.lang.String getDefaultProperty(java.lang.String name)
Liefert den Standard-Wert für eine Eigenschaft an einem Anschlusspunkt bei TLS over IP.- Specified by:
getDefaultProperty
in classde.bsvrz.kex.tls.osi2osi3.osi2.api.AbstractDataLinkLayer
- Parameters:
name
- der Eigenschaft.- Returns:
- Standard-Wert der abgefragten Eigenschaft.
-
getMaximumDataSize
public int getMaximumDataSize()
Bestimmt die maximale Anzahl von Nutzdatenbytes in einem OSI-2 Paket (Telegramm).- Returns:
- Maximale Anzahl Nutzdatenbytes.
-
-