Skip to main content
Skip table of contents

TBeCbTCPClient

TBeCbTCPClient

Die Klasse TBeCbTCPClient ermöglicht die Kommunikation auf Basis einer TCP/IP-Socket-Verbindung mit einem TCP-Server. Die Klasse stellt Funktionen und Methoden zum Verbindungsaufbau und zum Lesen und Schreiben von Daten über bestehende Verbindungen zur Verfügung.

Hinweis: Derzeit wird nur Version 4 des IP-Protokolls unterstützt.

Eigenschaften

Eigenschaft

Beschreibung

CbConnectTimeout:N

Timeout in Millisekunden für den Verbindungsaufbau (Default: -1: kein Timeout)

CbReadTimeout:N

Timeout in Millisekunden für das Lesen von Daten (Default: -1: kein Timeout)

CbHost:C

IP-Adresse oder Name des Host, mit dem kommuniziert werden soll. (Default: "")
Dieser Eigenschaft kann nur ein String zugewiesen werden, der nicht leer ist.

CbPort:N

Port auf dem eine Verbindung mit dem angegebenen Host aufgebaut werden soll. (Default: -1)
Dieser Eigenschaft können nur Werte zwischen 0 und 65535 zugewiesen werden.

Funktionen / Methoden

Funktion / MethodeParameterBeschreibung

CbConnect()

Stellt eine Verbindung zu einem TCP-Server unter Verwendung der Werte der Eigenschaften CbHost und CbPort her. Kann innerhalb der durch den Wert der Eigenschaft CbConnectTimeout definierten Zeitraums keine Verbindung zum TCP-Server erstellt werden, führt dies zu einer Exception. Der Aufruf dieser Methode für einen TCP-Client, für den bereits eine Verbindung zu einem TCP-Server besteht, führt zu einer Exception.



CbDisconnect()

Löst eine bestehende Verbindung zwischen dem TCP-Client und einen TCP-Server. Der Aufruf dieser Methode für einen TCP-Client, für den keine Verbindung zu einem TCP-Server besteht, führt zu keiner Exception.



CbConnected():L

Liefert:
True - falls für den TCP-Client einer Verbindung zu einem TCP-Server besteht.
False - sonst



CbReadLn():C

Liest aus der bestehenden Verbindung zwischen TCP-Client und TCP-Server eine Zeile mit einem ANSI-String und liefert den Inhalt der Zeile (ohne Zeilenumbruch). Kann innerhalb der durch den Wert der Eigenschaft CbReadTimeout definierten Zeitraums keine Zeile über die Verbindung gelesen werden, führt dies zu einer Exception.



CbWriteLn()

Schreibt in die bestehende Verbindung zwischen TCP-Client und TCP-Server eine Zeile mit dem übergebenen ANSI-String.

aAnsiString:CANSI-String (ohne Zeilenumbruch), dessen Inhalt in einer Zeile an der TCP-Server übermittelt werden soll.

CbReadLnUTF8():C

Liest über die bestehende Verbindung zwischen TCP-Client und TCP-Server eine Zeile mit einem UTF8-String und liefert den Inhalt der Zeile (ohne Zeilenumbruch). Kann innerhalb der durch den Wert der Eigenschaft CbReadTimeout definierten Zeitraums keine Zeile über die Verbindung gelesen werden, führt dies zu einer Exception.



CbWriteLnUTF8()

Schreibt in die bestehende Verbindung zwischen TCP-Client und TCP-Server eine Zeile mit dem übergebenen UTF8-String.

aUTF8String:CUTF8-String (ohne Zeilenumbruch), dessen Inhalt in einer Zeile an den TCP-Server übermittelt werden soll.

CbReadCurrentBufferAsAnsiString():C

Liest über die bestehende Verbindung zwischen TCP-Client und TCP-Server einen ANSI-String und liefert dessen Inhalt. Kann innerhalb der durch den Wert der Eigenschaft CbReadTimeout definierten Zeitraums kein ANSI-String über die Verbindung gelesen werden, liefert die Funktion einen leeren ANSI-String.



CbReadCurrentBufferAsUTF8String():C

Liest über die bestehende Verbindung zwischen TCP-Client und TCP-Server einen UTF8-String und liefert dessen Inhalt. Kann innerhalb der durch den Wert der Eigenschaft CbReadTimeout definierten Zeitraums kein UTF8-String über die Verbindung gelesen werden, liefert die Funktion einen leeren UTF8-String.



CbWriteFile()

Schreibt in die bestehende Verbindung zwischen TCP-Client und TCP-Server den Inhalt der Datei mit dem übergebenen Namen.

aFileName:CName der Datei, deren Inhalt an den TCP-Server übermittelt werden soll.

CbWriteAnsiString()

Schreibt in die bestehende Verbindung zwischen TCP-Client und TCP-Server eine Zeile mit dem übergebenen ANSI-String.

aAnsiString:CANSI-String, dessen Inhalt in einer Zeile an der TCP-Server übermittelt werden soll.

Beispiel

CODE
//******************************************************************************
// Öffnet eine TCP-Verbindung zum Localhost auf dem Port 5000.
// Übermittelt anschließend eine Zeile mit dem Text "test" an den TCP-Server und
// liest eine Zeile mit der Antwort des TCP-Servers.
// Hat der Client nach Ablauf von einer Sekunde keine Zeile empfangen, dann
// wird eine Exception ausgelöst und der Vorgang abgebrochen.
//******************************************************************************

|oCbTCPClient, cErrorText:C := "", cRead:C := ""|
oCbTCPClient := CreateObject("TBeCbTCPClient"),
StartSeq,
   StartSeq,
      oCbTCPClient.CbHost := "127.0.0.1",
      oCbTCPClient.CbPort := 5000,
      oCbTCPClient.CbReadTimeout := 1000,
      oCbTCPClient.CbConnect(),
      oCbTCPClient.CbWriteLn("test"),
      cRead := oCbTCPClient.CbReadLn(),
      oCbTCPClient.CbDisconnect(),
   OnError,
      cErrorText := GetErrorText(GetErrorObj()),
   StopSeq,
Always,
   DestroyObject(oCbTCPClient),
StopSeq,


//******************************************************************************
// Öffnet eine TCP-Verbindung zum Localhost auf dem Port 5000.
// Übermittelt anschließend eine Zeile mit dem Text "test" an den TCP-Server und
// liest einen ANSI-String mit der Antwort des TCP-Servers.
// Hat der Client nach Ablauf von einer Sekunde keinen ANSI-String empfangen,
// dann wird ein leerer ANSI-String zurückgegeben und erneut auf einen
// ANSI-String gewartet.
// Wurde ein ANSI-String mit einer Länge von mindestens zwei Zeichen empfangen,
// wird dieser ausgewertet.
//******************************************************************************

|oCbTCPClient, cErrorText:C := "", cRead:C := ""|
oCbTCPClient := CreateObject("TBeCbTCPClient"),
StartSeq,
   StartSeq,
      oCbTCPClient.CbHost := "127.0.0.1",
      oCbTCPClient.CbPort := 5000,
      oCbTCPClient.CbReadTimeout := 1000,
      oCbTCPClient.CbConnect(),
      oCbTCPClient.CbWriteLn("test"),
      while Len(cRead) < 2 do
         cRead += oCbTCPClient.CbReadCurrentBufferAsAnsiString(),
      end,
      oCbTCPClient.CbDisconnect(),
   OnError,
      cErrorText := GetErrorText(GetErrorObj()),
   StopSeq,
Always,
   DestroyObject(oCbTCPClient),
StopSeq,
if cRead = 'OK' then
   Meld("OK!"),
else
   Meld("NOT OK!"),
endif,


//******************************************************************************
// Öffnet eine TCP-Verbindung zum Localhost auf dem Port 5000.
// Übermittelt anschlie&szlig;end den Inhalt der Datei "test.txt" an den TCP-Server
// und liest eine Zeile mit der Antwort des TCP-Servers.
// Hat der Client nach Ablauf von einer Sekunde keine Zeile empfangen, dann
// wird eine Exception ausgelöst und der Vorgang abgebrochen.
//******************************************************************************

|oCbTCPClient, cErrorText:C := "", cRead:C := ""|
oCbTCPClient := CreateObject("TBeCbTCPClient"),
StartSeq,
   StartSeq,
      oCbTCPClient.CbHost := "127.0.0.1",
      oCbTCPClient.CbPort := 5000,
      oCbTCPClient.CbReadTimeout := 1000,
      oCbTCPClient.CbConnect(),
      oCbTCPClient.CbWriteFile("test.txt"),
      cRead := oCbTCPClient.CbReadLn(),
      oCbTCPClient.CbDisconnect(),
   OnError,
      cErrorText := GetErrorText(GetErrorObj()),
   StopSeq,
Always,
   DestroyObject(oCbTCPClient),
StopSeq,

//******************************************************************************
//
//******************************************************************************
|oCbTCPClient, cErrorText:C := "", cRead:C := ""|
oCbTCPClient := CreateObject("TBeCbTCPClient"),
StartSeq,
    StartSeq,
        oCbTCPClient.CbHost := "127.0.0.1",
        oCbTCPClient.CbPort := 5002,
        oCbTCPClient.CbConnect(),
        oCbTCPClient.CbWriteAnsiString("write"),
        oCbTCPClient.CbDisconnect(),
    OnError,
        cRead := GetErrorText(GetErrorObj()),
    StopSeq,
Always,
  DestroyObject(oCbTCPClient),
StopSeq,
cRead
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.