Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   C++ Wann disconnected ein Client vom Server? Überprüfung! (https://www.delphipraxis.net/126198-wann-disconnected-ein-client-vom-server-ueberpruefung.html)

sk0r 19. Dez 2008 19:19


Wann disconnected ein Client vom Server? Überprüfung!
 
Hallo,

wie kann ich per WinSocks als Server überprüfen,
ob ein Client nicht mehr verbunden ist? Ich habe nämlich
eine struct, welche Events bereitstellt, u.a. auch OnDisconnect.
Wie kann ich nun überprüfen, ob ein Client nicht mehr mit dem
Server verbunden ist, wegen welchem Grund auch immer?!

MfG: sk0r

SirThornberry 19. Dez 2008 19:26

Re: Wann disconnected ein Client vom Server? Überprüfung!
 
wenn ein Client ordnungsgemäß die Verbindung beendet wird kann man das Disconnect mitbekommen (einfach mal im Quelltext von TServerSocket und TClientSocket schauen wie es dort gelöst ist). Wenn jedoch die Verbindung plötzlich abbricht oder jemand das Kabel zerschneidet bekommt man es erst mit wenn man Daten senden/empfangen will und das nicht mehr geht. Und genau das ist dann auch die Art und Weise es heraus zu finden. Geht es nicht mehr ist der Client nicht mehr ereichbar.

sk0r 19. Dez 2008 19:32

Re: Wann disconnected ein Client vom Server? Überprüfung!
 
Also, das TServerSocket ist mir zu kompliziert, da blicke ich nicht durch. :/

Kann mir nicht einfach jemand sagen, wie man überprüft, ob ein Client ordnungsgemäß disconnectet?

Tobiax 19. Dez 2008 19:40

Re: Wann disconnected ein Client vom Server? Überprüfung!
 
Hi, ich würde einfach in denn Client einen befehl einbauen, der beim der Disconnect an denn Server gesendet wird der liest ihn dann aus .
Aber weiß ja nicht was du anstellen willst :P

mfg

sk0r 19. Dez 2008 20:09

Re: Wann disconnected ein Client vom Server? Überprüfung!
 
JO, ich will es jetzt so machen, dass einfach an jeden Client Daten gesendet werden (so 2 Bytes). Wenn es erfolgreich war, dann ist der Client noch da.^^

Nun habe ich noch ein Problem. Ich kann die Überprüfung aber nicht machen, da accept mein Programm
blockt. Wie kann ich mein WinSock Socket auf Non-Blocking stellen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz