public class Server extends WanCom implements PropertyQueryInterface
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
|
private static class |
Server.IllegalTelegramException
Signalisiert Fehler in empfangenen Telegrammen
|
private class |
Server.Link
Realisiert ein Verbindungsobjekt, das die Kommunikation mit einem einzelnen Kommunikationspartner verwaltet.
|
private static class |
Server.PriorizedByteArray
Dient zur Speicherung eines zu versendenden Telegramms mit einer zugeordneten Priorität
|
private class |
Server.Worker
Klasse die das Runnable-Interface implementiert, vom Protokollthread ausgeführt wird und den Protokollablauf steuert
|
Modifier and Type | Field and Description |
---|---|
private static Debug |
_debug
Logger für Debugausgaben
|
private List<Server.Link> |
_links
Verbindungen zu Kommunikationspartnern, die durch das Protokoll verwaltet werden
|
private Object |
_protocolLock
Monitor Objekt, das zur Synchronisation des Protokoll-Threads und den API-Zugriffen von fremden Threads auf das Protokoll koordiniert
|
private ProtocolState |
_protocolState
Aktueller Zustand des Protokolls
|
(package private) Server.Worker |
_worker
Runnable Objekt, das vom Protokollthread ausgeführt wird und den Protokollablauf steuert
|
private Thread |
_workThread
Thread des Protokolls
|
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.
|
DataLinkLayer.Link |
createLink(int remoteAddress)
Erzeugt ein neues Verbindungsobjekt.
|
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(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
|
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
private final Thread _workThread
final Server.Worker _worker
private final Object _protocolLock
private ProtocolState _protocolState
private List<Server.Link> _links
public Server() throws IOException
IOException
public String toString()
public void setDavConnection(ClientDavInterface connection)
setDavConnection
in interface DataLinkLayer
connection
- Verbindung zum Datenverteilerpublic boolean isStarted()
start()
aktiviert wurde.isStarted
in interface DataLinkLayer
true
, wenn die Kommunikation dieses Protokolls bereits aktiviert wurde, sonst false
.public void start()
start
in interface DataLinkLayer
public void shutdown()
shutdown
in interface DataLinkLayer
public void abort()
abort
in interface DataLinkLayer
public void setProperties(Properties properties)
setProperties
in interface DataLinkLayer
setProperties
in class AbstractDataLinkLayer
properties
- Neue Protokoll und VerbindungsparameterDataLinkLayer.Link.getProperty(java.lang.String)
public DataLinkLayer.Link createLink(int remoteAddress)
createLink
in interface DataLinkLayer
remoteAddress
- OSI-2 Adresse des Kommunikationspartners