Anzeigen: Delphi C++
Anzeigeeinstellungen

Server-Ereignisse

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Arbeiten mit Sockets - Index

Mit Server-Socket-Komponenten können zwei Typen von Verbindungen hergestellt werden: empfangende Verbindungen und Verbindungen mit Client-Anwendungen. Das Server-Socket empfängt bei Herstellung einer dieser Verbindungen jeweils Ereignisse.

Ereignisse bei empfangenden Verbindungen

Direkt vor dem Aufbau der empfangenden Verbindung tritt das Ereignis OnListening auf. Sie können Sie dessen Eigenschaft Handle benutzen, um Änderungen am Socket vornehmen, bevor dieses für die empfangende Verbindung geöffnet wird. Beispiel: Wenn Sie festlegen möchten, dass der Server nur für bestimmte IP-Adressen empfangsbereit sein soll, können Sie dies über eine OnListening-Ereignisbehandlungsroutine festlegen.

Ereignisse bei Client-Verbindungen

Wenn ein Server-Socket eine Anforderung für eine Client-Verbindung akzeptiert, treten die folgenden Ereignisse auf:

  • Es tritt ein OnAccept-Ereignis ein, welches das neue TTcpClient-Objekt an die Ereignisbehandlungsroutine übergibt. Hier können Sie zum ersten Mal die Eigenschaften von TTcpClient zum Ermitteln von Informationen über den Server-Endpunkt der Verbindung zu einem Client verwenden.
  • Wenn für die Eigenschaft BlockMode der Wert bmThreadBlocking gesetzt ist, tritt ein OnGetThread-Ereignis ein. Wenn Sie einen eigenen, individuell angepassten Nachkommen des Objekts ServerSocketThread zur Verfügung stellen möchten, können Sie dieses in einer OnGetThread-Ereignisbehandlungsroutine, die anstelle von TServerSocketThread verwendet wird, erstellen. Dieses Objekt wird dann an Stelle von TServerSocketThread verwendet. Um die Initialisierung des Thread vorzunehmen oder das Socket-API aufzurufen, bevor der Thread mit dem Lesen bzw. Schreiben über die Verbindung begonnen hat, müssen Sie die OnGetThread-Ereignisbehandlungsroutine ebenfalls benutzen.
  • Der Client beendet die Verbindung und ein OnAccept-Ereignis tritt ein. Bei einem nicht-blockierenden Server können Sie nun mit dem Lesen oder Schreiben über die Socket-Verbindung beginnen.

Siehe auch

In anderen Sprachen