public class Client extends WanCom implements PropertyQueryInterface
Klasse, die als OSI-2 Protokollmodul für den client-seitige Teil einer WanCom-Verbindung eingesetzt werden kann. Zur Verwendung dieses Protokollmoduls ist an dem jeweiligen Anschlußpunkt in der Konfiguration in der Attributgruppe “atg.anschlussPunkt” im Attribut “ProtokollTyp” der Wert “de.bsvrz.kex.tls.osi2osi3.osi2.wancom.Client” einzutragen. Im Parameter “atg.protokollEinstellungenStandard” des Anschlußpunkts werden Defaultswerte für alle Verbindungen an diesem Anschlußpunkt eingestellt. Im Parameter “atg.protokollEinstellungenPrimary” bzw. “atg.protokollEinstellungenSecondary” der dem Anschlußpunkt zugeordneten AnschlußPunktKommunikationsPartner werden individuelle Werte für die Verbindung zum jeweiligen Kommunikationspartner eingestellt. Die Parameterdatensätze können mehrere Einträge enthalten die jeweils aus einem Namen und einem Wert bestehen. Folgende Tabelle enthält die Namen, Defaultwerte und eine Beschreibung der unterstützten Einträge:
Name | Defaultwert | Beschreibung |
---|---|---|
wancom.host | Domainname oder IP-Adresse des Kommunikationspartners. | |
wancom.port | 7100 | TCP-Portnummer des WanCom-Servers beim Kommunikationspartner. |
wancom.version | 35 | Im WanCom-Header übertragene Version des eingesetzten Protokolls. |
wancom.keepAliveTime | 20 | Zeit in Sekunden zwischen dem Versand von 2 Keep-Alive Telegrammen. |
wancom.keepAliveTimeoutCount | 3 | Anzahl von in Folge vergangenen keepAliveTime-Intervallen ohne Empfang eines KeepAlive-Telegramms bevor die Verbindung abgebrochen wird. |
wancom.keepAliveType | 50 | WanCom-Type-Feld in KeepAlive-Telegrammen. |
wancom.tlsType | 600 | WanCom-Type-Feld in versendeten TLS-Telegrammen. |
wancom.tlsTypeReceive | WanCom-Type-Feld in empfangenen TLS-Telegrammen. Dieser Wert muss nur angegeben werden, wenn er sich vom WanCom-Typen zum Versand (wancom.tlsType) unterscheidet. Wenn dieser Wert nicht angegeben wurde, wird der Wert von wancom.tlsType auch zum Empfang verwendet. Wenn der Wert -1 angegeben wird, dann werden alle WanCom-Typ-Werte (außer dem Wert für KeepAlive-Telegramme wancom.keepAliveType) akzeptiert. | |
wancom.connectRetryDelay | 60 | Wartezeit in Sekunden, bevor ein fehlgeschlagener Verbindungsversuch wiederholt wird. |
wancom.localAddress | Lokale Adresse, die in Wan-Com-Header als Absender eingetragen werden soll. Ein leerer Text, wird automatisch durch die aktuelle lokale Adresse der Wan-Com-Verbindung ersetzt. |
Modifier and Type | Class and Description |
---|---|
static class |
Client.ActionType |
private static class |
Client.IllegalTelegramException |
private class |
Client.Link |
private static class |
Client.PriorizedByteArray |
private class |
Client.Worker |
Modifier and Type | Field and Description |
---|---|
private static Debug |
_debug |
private java.util.List<Client.Link> |
_links |
private java.lang.Object |
_protocolLock |
private ProtocolState |
_protocolState |
(package private) Client.Worker |
_worker |
private java.lang.Thread |
_workThread |
Constructor and Description |
---|
Client() |
Modifier and Type | Method and Description |
---|---|
void |
abort()
Beendet die Kommunikation dieses Protokolls.
|
DataLinkLayer.Link |
createLink(int remoteAddress)
Erzeugt eine neue logische Verbindung zu einem bestimmten Kommunikationspartner.
|
boolean |
isStarted()
Bestimmt, ob die Kommunikation dieses Protokolls bereits mit der Methode
start() aktiviert wurde. |
void |
setDavConnection(ClientDavInterface connection)
Nimmmt die Verbindung zum Datenverteiler entgegen.
|
void |
setProperties(java.util.Properties properties)
Setzt einen neuen Satz von Protokoll-Parametern.
|
void |
shutdown()
Beendet die Kommunikation dieses Protokolls.
|
void |
start()
Aktiviert die Kommunikation dieses Protokolls.
|
java.lang.String |
toString() |
createKeepAliveTelegramBytes, getDefaultProperty, getMaximumDataSize
addEventListener, allowConnection, allowConnection, checkConnection, getLocalAddress, getProperty, notifyEvent, notifyEvent, removeEventListener, setLocalAddress
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getProperty
private static final Debug _debug
final Client.Worker _worker
private final java.lang.Thread _workThread
private final java.lang.Object _protocolLock
private ProtocolState _protocolState
private java.util.List<Client.Link> _links
public java.lang.String toString()
toString
in class java.lang.Object
public void setDavConnection(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.
setDavConnection
in interface DataLinkLayer
connection
- Verbindung zum Datenverteilerpublic boolean isStarted()
Bestimmt, ob die Kommunikation dieses Protokolls bereits mit der Methode start()
aktiviert wurde.
isStarted
in interface DataLinkLayer
true
, wenn die Kommunikation dieses Protokolls bereits aktiviert wurde, sonst false
.public void start()
DataLinkLayer
Aktiviert die Kommunikation dieses Protokolls.
start
in interface DataLinkLayer
public void shutdown()
DataLinkLayer
Beendet die Kommunikation dieses Protokolls. Alle noch verbundenen Links werden mit der Methode DataLinkLayer.Link.shutdown()
terminiert. Dabei wird sichergestellt, dass Daten, die zuvor an die Methode DataLinkLayer.Link.send(byte[], int)
übergeben wurden, auch übertragen werden.
shutdown
in interface DataLinkLayer
public void abort()
DataLinkLayer
Beendet die Kommunikation dieses Protokolls. Alle noch verbundenen Links werden mit der Methode DataLinkLayer.Link.abort()
terminiert.
abort
in interface DataLinkLayer
public void setProperties(java.util.Properties properties)
DataLinkLayer
Setzt einen neuen Satz von Protokoll-Parametern. Diese dienen auch als Defaultwerte für die Verbindungsparameter.
setProperties
in interface DataLinkLayer
setProperties
in class AbstractDataLinkLayer
properties
- Neue Verbindungsparameter.DataLinkLayer.Link.getProperty(java.lang.String)
public DataLinkLayer.Link createLink(int remoteAddress)
DataLinkLayer
Erzeugt eine neue logische Verbindung zu einem bestimmten Kommunikationspartner.
createLink
in interface DataLinkLayer
remoteAddress
- OSI-2 Adresse bzw. Portnummer des gewünschten Kommunikationspartners.