Avatar billede hmann Nybegynder
22. august 2003 - 13:26 Der er 3 kommentarer og
1 løsning

TcpClient.onDisconnect

Hejsa,

jeg har i lang tid haft en klient applikation til at køre op mod en software-server på en unix-maskine!

har kommunikeret via delphi 4's TPowerSocket
- det har virket fint, men WriteLn og ReadLn metoderne...

hvis det skete at der var problemer på netværket eller funktions-serveren (den klienten connect'er op imod) af en eller anden grund var gået ned, fik klientprogrammet en OnDisconnect event og derved vidste jeg at der skulle connect'es påny før jeg sendte data til serveren!

i delphi7 kan jeg ikke få min klient-komponent til at trigge dens OnDisconnect lige meget hvad jeg gør!

og det er lige meget om jeg bruger en TTcpClient komponent eller en TIDTcpClient!

Lige meget hvad kan den ikke finde ud af at den er blevet disconnected hvis det er sket fra serversiden!

nogen er har haft lignende problemer og/eller ved hvordan man løser dette?

/HMann
Avatar billede borrisholt Novice
22. august 2003 - 13:33 #1
Skriv der om til ar bruge INDY
Avatar billede hmann Nybegynder
22. august 2003 - 13:53 #2
hvad mener du med at skrive det om?

TIDTcpClient er vel en INDY komponent?
Den ligger på tab'en "Indy Clients" i Delphi7

og der er det samme problem - den finder ikke ud af når connection'en bliver stoppet fra serversiden
Avatar billede doc404 Novice
27. august 2003 - 22:53 #3
Indy er lidt underlig på det felt. OnDisconnected bliver AFAIK kun kaldt, når du kalder Disconnect ELLER hvis du får en gracefully disconnect fra din server.

Derfor er du nød til at check for exceptions omkring dine Send's.

En slamløsning kunne være:

try
  TCPClient.Send('abc');
except
  TCPClient.OnDisconnected(nil);
end;
Avatar billede hmann Nybegynder
29. august 2003 - 15:44 #4
har fundet en work around selv...

bruger CheckForGracefulDisconnect-metoden før jeg sender til serveren!

lukker...

/Hmann
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester