Tritt ein, wenn ein Client-Socket eine vom Server-Socket akzeptierte Verbindung einrichtet.
Delphi-Syntax:
property OnClientConnect: TSocketNotifyEvent;
C++ Syntax:
__property TSocketNotifyEvent OnClientConnect = {read=FOnClientConnect, write=FOnClientConnect};
Beschreibung
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.
Hinweis: Hat ServerType den Wert stThreadBlocking, müssen Sie sicherstellen, daß 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.
Hinweis: Die Behandlungsroutine für das Ereignis OnClientConnect des TServerSocket-Objekts wird zusammen mit der Ereignisbehandlungsroutine OnClientConnect für das zugehörige TServerWinSocket-Objekt eingerichtet.