tüm clientlara bilgil gönderme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
must_sargin
Üye
Mesajlar: 216
Kayıt: 14 Şub 2004 03:13
Konum: Gebze
İletişim:

tüm clientlara bilgil gönderme

Mesaj gönderen must_sargin »

s.a arkadaşlar,
çoklu bilgisayarda bir terminalde yapılan veri değişikliğinin diğer terminallere o anda bildirilmesini istiyorum. Firebird veritabanı kullanırken ibevent ile bunu yapabiliyordum fakat mysql veritabanı ve firedac bileşenini kullanıyorum.Tcp server ve tcp client le mesaj gönderiyorum fakat çoğunlukla hata oluşuyor. Acaba nasıl bir yol izlemeliyim?
ertank
Kıdemli Üye
Mesajlar: 1651
Kayıt: 12 Eyl 2015 12:45

Re: tüm clientlara bilgil gönderme

Mesaj gönderen ertank »

A.S.

MySQL kullanmamakla birlikte internette kısa bir araştırma aşağıdaki sonuca yöneltti:
https://stackoverflow.com/questions/376 ... is-updated

FirebirdSQL'de olan "event", PostgreSQL'de olan "notify" özelliği sanırım MySQL'de mevcut değil. Bu sebeple tavsiye edilen kendi "pooling" mekanizmanızı kurmanız. Örneğin;
- Ek bir tablo oluşturup bütün client bilgisayarların belirli aralıklarla yeni veri sorgulamasını sağlayın.
- Yeni bir bilgi var ise bilgi içeriğine göre client tarafında yapmanız gereken işlemleri yapın.

Eğer Client'ın hiç mesaj kaçırmamasını istiyorsanız (uygulama çalışmadığı sürede oluşan mesajları da işlemek gerekli ise);
-Client tablodan en son hangi içeriği kontrol ettiğini biliyor olması gerekir. Bunun için bir INI dosyası kullanmanız mümkün olabilir. Uygulama kapanır iken en son kontrol edilen bilgiye ait "PRIMARY KEY" değeri INI dosyasına yazılır. Açılışta aynı bilgi okunur ve normal kontrol sürecinde en son kontrol edilmiş bilgiden itibaren yeni bilgiler işlenir.
Alternatif olarak ilgili mesaj kontrol tablo tasarımını client bazında bilgi kontrolüne ve "okundu" işaretlerine uygun kolonlar ile oluşturabilirsiniz.

Bu tür kontroller için en uygun "PRIMARY KEY" veri türü TDateTime olarak seçilebilir.
Cevapla