Arkadaşlar,
Forumda aradım ancak bulamadım.
Şimdi benim sorunum şu:
İstemci uygulama başka bir bilgisayarda ya da yerel bilgisayar üzerindeki FB sunumcusundaki bir VT'ye bağlı durumda.
FB sunumcusu kapatıldığında ya da (eğer ağ üzerindeki başka bir bilgisayarda ise) bağlantı kesildiğinde ne yapmam gerekiyor.
Şimdi pek çok şeyi denetim. Ancak sürekli hata mesajı alıyorum (örneğin uzaktaki bağlantı kesildi vs. gibi).
Öncelikle bağlantı kesildiğini nasıl anlayacağım. IBDatabase bileşeninin OnDisconnect olay işleyicisini kullanmaya çalıştım ancak bağlantı kesildiğinde işe yaramıyor.
Bağlantı kesildiğini fark edip, istisna oluştuğunda, Database ve Transaction'ı sırasıyla Connected := False, ve Active := False yapıyorum ancak yine de hata vermeye devam ediyor.
Nasıl bir strateji izlemem lazım. Saygılarımla,
FB Bağlantısı kesilmesi ya da FB Sunumcusu kapatılması
-
- Üye
- Mesajlar: 163
- Kayıt: 06 Nis 2006 12:22
-
- Kıdemli Üye
- Mesajlar: 1223
- Kayıt: 26 Nis 2005 04:08
FB/IB toollarında böyle bir alternatif henüz yok zira bildiğim kadarıyla (tam emin değilim) FB nin böyle bir istisnası mevcut değil.OnDisconnect eventi manuel olarak disconnect edildiğinde tetiklenir..Socket bileşenleri kullanılarak böyle bir istisna yönetimi hazırlanabilir diye düşünüyorum.ClientSocketin bağlantısının düşmesi muhtemelen FB toollarından daha önce olacaktır ve disconnect yordamına kod yazarak dbyi kapatabilirsin.Hatta benzer bir yapıyı sözkonusu bileşenlere socket classının gömülmesi suretiyle de yapabilirsin sanırım.Yanılıyor da olabilirim...
Kolay gele..
Kolay gele..
-
- Kıdemli Üye
- Mesajlar: 1026
- Kayıt: 11 Şub 2005 02:12
- Konum: İstanbul
Biraz kaçamak bir yöntem, pek sağlıklı değğl ama şöyle yapabilirsin:
Kontrol için tek sutün tek satırlık bit tablo oluşturursun. Geri plânda ibsql bileşeni ile nir timer kullanarak 4-5 sn bir bu tabloyu sorgulatırsın. Sorun olduğunda anlarsınki bağlantı kesilmiştir.
Eğer yüzlerce istemci yoksa, birkaç bilgisayar için yerel ağda kullanılacaksa böyle bir yöntem izleyebilirsin.
Kontrol için tek sutün tek satırlık bit tablo oluşturursun. Geri plânda ibsql bileşeni ile nir timer kullanarak 4-5 sn bir bu tabloyu sorgulatırsın. Sorun olduğunda anlarsınki bağlantı kesilmiştir.
Eğer yüzlerce istemci yoksa, birkaç bilgisayar için yerel ağda kullanılacaksa böyle bir yöntem izleyebilirsin.
selamu aleyküm.
arkadaslar bunun daha farkli bir yöntemi yok mu?
yada bu soruna cözüm bulan oldu mu?
5 client bir server a baglaniyor ve baglanti koptugu an bütün programlar donuyor. görev yöneticisinden kapatmak zorunda kaliyoruz hepsini. aksi taktir de kapatmak mümkün degil. program hic bir reaksyon göstermiyor.
selam ve dua ile...
arkadaslar bunun daha farkli bir yöntemi yok mu?
yada bu soruna cözüm bulan oldu mu?
5 client bir server a baglaniyor ve baglanti koptugu an bütün programlar donuyor. görev yöneticisinden kapatmak zorunda kaliyoruz hepsini. aksi taktir de kapatmak mümkün degil. program hic bir reaksyon göstermiyor.
selam ve dua ile...