Methode Accept

Überblick

Typ:

Methode

Verfügbar ab:

V1.0.4.0

Aufgabe

Annehmen einer eingehenden Verbindung, damit sie für die Datenübertragung zur Verfügung steht.

Funktionsbeschreibung

Nimmt eine eingehende Verbindung an, sodass sie für die Datenübertragung zur Verfügung steht. Die IP-Adresse und der Port der Quelle, von denen die Verbindung stammt, sind als Ausgang verfügbar.

Der BOOL-Rückgabewert ist TRUE, wenn die Funktion erfolgreich ausgeführt wurde. Prüfen Sie die Eigenschaft Result, wenn der Wert FALSE zurückgegeben wird.

Übergang des Serverzustands

Schritt

Beschreibung

1

Ausgangszustand: Idle, NewConnectionAvailable ist TRUE

2

Funktionsaufruf

3

Zustand: Accepting

4

Endstatus: Listening, andernfalls wird ein Fehler erkannt.

Backlog-Verwaltung

Eingehende Verbindungen werden sofort vom TCP-Stapel angenommen und im Backlog aufbewahrt. Für den Client handelt es sich um eine normale Verbindung und er kann Daten an den Server senden. Deshalb kann es vorkommen, dass eine vom Client bereits wieder getrennte Verbindung angenommen wird. Die von diesem Client empfangenen Daten sind nach wie vor verfügbar und solange die Daten nicht mithilfe einer der Empfangsmethoden ausgelesen werden, bleibt die Verbindung in der Eigenschaft ConnectedClients registriert. Sobald alle Daten einer derartigen Clientverbindung mit einer Receive-Methode ausgelesen wurden, wird die betroffene Clientverbindung aus der von der Eigenschaft ConnectedClients bereitgestellten Liste entfernt.

Die Anzahl der im Backlog aufbewahrten Verbindungen kann in der GPL dieser Bibliothek über den Parameter Gc_uiTCPServerMaxBacklog festgelegt werden (siehe Globale Variablen).

Schnittstelle

Ausgang

Datentyp

Gültiger Bereich

Beschreibung

q_sClientIP

STRING(15)

-

Die IP-Adresse des angenommenen Clients als Zeichenfolge kodiert.

q_dwClientIP

DWORD

-

IP-Adresse des Clients als DWORD, wobei jedes Byte einer Stelle der IPv4-Adresse entspricht.

q_uiClientPort

UINT

1 ... 65535

Der Port, von dem aus der Client die Verbindung herstellt.

Verwendet von

  • FB_TCPServer/FB_TCPServer2