Merhaba idTCPServer Tarafında online kullanıcıları bir tabloya kaydediyorum. Connect olayında tabloya ekliyorum Disconnect olayındada tablodan siliyorum
Problemim Client tarafında internet kesildi, Network kablosu çıktı .. vs. vs. gibi durumlarda server tarafında Disconnect olayı gerçekleşmiyor ve bağlantı tabloda kaldığı için hala bağlıymış gibi görünüyor. Tabi Bu bağlantıyla ilgili Thread' ta asılı kalıyor.... Bunu nasıl denetleyebilirim..
idTCPServer Client Bağlantı Kopması
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 136
- Kayıt: 18 Oca 2005 05:24
- Konum: İzmir
idTCPServer Client Bağlantı Kopması
Her iyinin içinde bir Kötülük.Her Kötnün içide de bir iyilik vardır
Re: idTCPServer Client Bağlantı Kopması
Server Cliente belirli aralıklarla ping atsın o ozaman.
Kod: Tümünü seç
if not ping('xxx.xxx.xx.xx') then
socket.disconnect;
-
- Üye
- Mesajlar: 136
- Kayıt: 18 Oca 2005 05:24
- Konum: İzmir
Re: idTCPServer Client Bağlantı Kopması
Şöyle bir şey tasarlamaya karar verdim. Client tarafında bir dinleme olayı tasarlamadığım ve kontrolü zor olacağından işi Sadece Serverde çözmek yerine Client 1 dk aralıklarla Mesaj Gönderecek Server tarafında da TIdServerContext Class 'ına Timer özeliği ekledim 3dk süre belirleyip Thread yaratıldığı anda başlayıp Clienttan her mesaj aldığında baştan başlayıp 3 dk tamamlamaya çalışacak. Client tan bu 3dk içinde cevap gelmez ise Connection sonlandırılacak ve tabiki online listesindende düşecek şekilde yapacağım. Cevap için teşekkürler.
Her iyinin içinde bir Kötülük.Her Kötnün içide de bir iyilik vardır