Witam
Używam w swojej aplikacji dll do której łącze się poprzez socket z zewnątrz. Dll jest klientem i używa TClientSocket. Wszystko działa poprawnie do czasu kiedy chce rozłączyć socket po stronie klient i zwolnic zasób.
Robię to tak:
Client : TClientSocket;
...
Client.Active := false;
Client.Close;
Client.Free;
Zasób może i zwalnia ale niestety nie rozłacza - po stronie serwera nie widzę connection lost/reset.
Znalazłem inne funkcje:
Client.Socket.Close;
Client.Socket.Disconnect(?);
Ale trochę nie rozumiem ich znaczenia...czym się różni Client.Close od Client.Socket.Close ? I co mam dać za argument w funkcji Disconnect ? Jest to integer tylko jakoś nie rozumiem jakie to ma zastosowanie po stronie klienta...i dlaczego niszczenie referencji nie powoduje automatycznego disconnecta...
pozdrawiam