System.Win.ScktComp.TServerSocket.OnClientConnect

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

property OnClientConnect: TSocketNotifyEvent index 2 read GetOnClientEvent write SetOnClientEvent;

C++

__property OnClientConnect;

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
event published
System.Win.ScktComp.pas
System.Win.ScktComp.hpp
System.Win.ScktComp TServerSocket

Beschreibung

Tritt ein, wenn ein Client-Socket eine vom Server-Socket akzeptierte Verbindung einrichtet.

System.Win.ScktComp.TServerSocket.OnClientConnect erbt von System.Win.ScktComp.TCustomServerSocket.OnClientConnect. Der folgende Inhalt bezieht sich auf System.Win.ScktComp.TCustomServerSocket.OnClientConnect.

Tritt ein, wenn ein Client-Socket eine vom Server-Socket akzeptierte Verbindung einrichtet.

In einer Ereignisbehandlungsroutine für OnClientConnect können Sie Aktionen festlegen, die ausgeführt werden, sobald ein Client-Socket die Verbindung zum Server-Socket eingerichtet hat. Beispielsweise kann der Socket in einer OnClientConnect-Ereignisbehandlungsroutine über die Verbindung lesen oder schreiben.

Die Reihenfolge der Server-Socket-Ereignisse bis hin zu OnClientConnect ist folgende:

1. Bevor der Server-Socket für den Empfang geöffnet wird, tritt das Ereignis OnListen ein.

2. Der Server-Socket empfängt Client-Anforderungen in einer Warteschlange. Er akzeptiert eine dieser Anforderungen und empfängt ein Windows-Socket-Handle für die neue Socket-Verbindung.

3. Der Server-Socket erzeugt das Ereignis OnGetSocket und übergibt das Windows-Socket-Handle. Wenn das TServerClientWinSocket-Objekt für den Server-Endpunkt der neuen Verbindung nicht in der Behandlungsroutine für das Ereignis OnGetSocket generiert wird, erzeugt der Server-Socket dieses Objekt. Das TServerWinSocket-Objekt empfängt weiterhin Anforderungen anderer Clients.

4. Es tritt das Ereignis OnAccept ein, in dem das neue TServerClientWinSocket-Objekt verwendet wird.

5. Wenn ServerType den Wert stThreadBlocking hat und im Zwischenspeicher kein Thread zur Verfügung steht, tritt das Ereignis OnGetThread ein. Generiert die Behandlungsroutine für das Ereignis OnGetThread keinen Thread, erzeugt der Server-Socket ein TServerClientThread-Objekt.

6. Wenn ServerType den Wert stThreadBlocking hat, tritt das Ereignis OnThreadStart ein, wenn der Thread mit der Ausführung beginnt.

7. Der Client vervollständigt die Verbindung zum TServerClientWinSocket-Objekt. Danach tritt das Ereignis OnClientConnect ein.

Anmerkung:  Hat ServerType den Wert stThreadBlocking, müssen Sie sicherstellen, dass der gesamte Code in der Ereignisbehandlungsroutine für OnClientConnect thread-sicher ist. Mit Hilfe der Methode GetClientThread des im Parameter Sender angegebenen Objekts können Sie auf die speziellen Thread-Informationen zugreifen.

Anmerkung:  Zusammen mit der Behandlungsroutine für das Ereignis OnClientConnect von TServerSocket wird die Behandlungsroutine für das Ereignis OnClientConnect des zugehörigen TServerWinSocket-Objekts zugewiesen.

Siehe auch