public class Server extends AbstractDataLinkLayer implements PropertyQueryInterface
Klasse, die als OSI-2 Protokollmodul für den server-seitigen Teil einer WanCom-Verbindung eingesetzt werden kann. Zur Verwendung dieses Protokollmoduls als Primary 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.Server” einzutragen. Zur Verwendung dieses Protokollmoduls als Secondary ist an dem jeweiligen Anschlußpunkt-Kommunikationspartner in der Konfiguration in der Attributgruppe “atg.anschlussPunktKommunikationsPartner” im Attribut “ProtokollTyp” der Wert “de.bsvrz.kex.tls.osi2osi3.osi2.wancom.Server” 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.port | 7100 | Lokale TCP-Portnummer auf der Verbindungen entgegengenommen werden. |
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 |
Server.ActionType
Definiert die Aktionscodes, die von den API-Methoden zur Steuerung des Protokoll-Threads versendet werden
|
Constructor and Description |
---|
Server()
Default-Konstruktor, mit dem neue WanCom-Server Protokolle instanziiert werden können
|
Modifier and Type | Method and Description |
---|---|
void |
abort()
Bricht die Kommunikation auf allen Verbindungen des Protokolls sofort ab und beendet anschließend das Protokoll.
|
protected byte[] |
createKeepAliveTelegramBytes(int version,
int type,
java.net.InetAddress localAddress) |
DataLinkLayer.Link |
createLink(int remoteAddress)
Erzeugt ein neues Verbindungsobjekt.
|
protected java.lang.String |
getDefaultProperty(java.lang.String name) |
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 Methode
start() aktiviert wurde. |
void |
setDavConnection(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-Thread
|
java.lang.String |
toString() |
addEventListener, allowConnection, allowConnection, checkConnection, getLocalAddress, getProperty, notifyEvent, notifyEvent, removeEventListener, setLocalAddress
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getProperty
public Server() throws java.io.IOException
Default-Konstruktor, mit dem neue WanCom-Server Protokolle instanziiert werden können
java.io.IOException
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()
Initialisiert das Protokoll und startet den Protokoll-Thread
start
in interface DataLinkLayer
public void shutdown()
Terminiert alle Verbindungen des Protokolls und beendet anschließend das Protokoll.
shutdown
in interface DataLinkLayer
public void abort()
Bricht die Kommunikation auf allen Verbindungen des Protokolls sofort ab und beendet anschließend das Protokoll.
abort
in interface DataLinkLayer
public void setProperties(java.util.Properties properties)
Setzt neue Protokollparameter. Alle Verbindungen werden mit den neuen Parametern reinitialisiert.
setProperties
in interface DataLinkLayer
setProperties
in class AbstractDataLinkLayer
properties
- Neue Protokoll und VerbindungsparameterDataLinkLayer.Link.getProperty(java.lang.String)
public DataLinkLayer.Link createLink(int remoteAddress)
Erzeugt ein neues Verbindungsobjekt.
createLink
in interface DataLinkLayer
remoteAddress
- OSI-2 Adresse des Kommunikationspartnersprotected java.lang.String getDefaultProperty(java.lang.String name)
getDefaultProperty
in class AbstractDataLinkLayer
public int getMaximumDataSize()
DataLinkLayer
Bestimmt die maximale Anzahl von Nutzdatenbytes in einem OSI-2 Paket (Telegramm).
protected byte[] createKeepAliveTelegramBytes(int version, int type, java.net.InetAddress localAddress)