Class 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).
    Verbindungsparameter für den Client:
    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-Servers
    tlsoip.C_AcceptPortB WIRD AKTUELL NICHT UNTERSTÜTZT!
    Portnummer des Alternativ-Servers
    tlsoip.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 Methode start() 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-Thread
      java.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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface de.bsvrz.kex.tls.osi2osi3.properties.PropertyQueryInterface

        getProperty
    • Constructor Detail

      • Client

        public Client()
               throws java.io.IOException
        Default-Konstruktor, mit dem neue TLSoverIP-Client Protokolle instanziiert werden können.
        Throws:
        java.io.IOException - wenn eine nicht abgefangene Ausnahme auftritt.
    • 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 interface de.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 interface de.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 Methode start() aktiviert wurde.
        Specified by:
        isStarted in interface de.bsvrz.kex.tls.osi2osi3.osi2.api.DataLinkLayer
        Returns:
        true, wenn die Kommunikation dieses Protokolls bereits aktiviert wurde, sonst false.
      • 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 interface de.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 interface de.bsvrz.kex.tls.osi2osi3.osi2.api.DataLinkLayer
        Overrides:
        setProperties in class de.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 interface de.bsvrz.kex.tls.osi2osi3.osi2.api.DataLinkLayer
      • start

        public void start()
        Initialisiert das Protokoll und startet den Protokoll-Thread
        Specified by:
        start in interface de.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 class java.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 class de.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.