UpdateMode in DataSet Protocol

· Özellikler

sgcWebSockets Dataset Alt protokolü, veritabanı değişikliklerini bağlı tüm istemcilere yayınlamaya olanak tanır. sgcWebSockets 4.3.8 sürümünden itibaren bu protokol 2 güncelleme moduna izin verir:

1. Replicate Table: bir veri kümesi değiştiğinde protokol veri kümesi istemcilerini günceller.

2. Notify Updates: bir veri kümesi değiştiğinde protokol istemcileri bilgilendirir. 

Replicate Table 

Bu mod, bağlı tüm istemciler için bir tablonun çoğaltıldığı yaygın bir senaryoyu çözmeye çalışır. Örneğin, bir hisse fiyatları tablosu bulunan bir sunucunuz varsa, hisse değişikliklerini tüm istemcilere yayınlamak istersiniz, ancak bir istemcinin veritabanınıza bağlanabilmesini istemezsiniz. Bu nedenle, herhangi bir hisse fiyatında bir değişiklik olduğunda, kayıt bilgileri bağlı tüm istemcilere yayınlanır. Her istemci kaydı okur ve kendi tablosunu günceller.

Demos klasöründeki SQLLite/MultipleDatabase demosunu inceleyebilirsiniz.

Dataset Sunucusunu Yapılandırma

Yeni bir Dataset Protokol Sunucusu oluşturun ve aşağıdaki özellikleri kullanarak yapılandırın

oServer := TsgcWebSocketServer.Create(nil);
oProtocolDataset := TsgcWSPServer_Dataset.Create(nil);
oProtocolDataset.Server := oServer;
oProtocolDataset.Dataset := <...your dataset..>;
oProtocolDataset.ApplyUpdates := true;
oProtocolDataset.AutoSynchronize := true;
oProtocolDataset.NotifyUpdates := true;
oProtocolDataset.UpdateMode := upWhereAll;
oServer.Port := 80;
oServer.Active := true; 

 Dataset İstemcisini Yapılandırma

Yeni bir Dataset Protokol İstemcisi oluşturun ve aşağıdaki özellikleri kullanarak yapılandırın

oClient := TsgcWebSocketClient.Create(nil);
oProtocolDataset := TsgcWSPClient_Dataset.Create(nil);
oProtocolDataset.Client := oClient;
oProtocolDataset.Dataset := <...your dataset..>;
oProtocolDataset.ApplyUpdates := true;
oProtocolDataset.AutoSubscribe := true;
oProtocolDataset.NotifyUpdates := true;
oProtocolDataset.UpdateMode := upWhereAll;
oClient.Host := '127.0.0.1';
oClient.Port := 80;
oClient.Active := true; 

Notify Updates 

Bu mod, sunucu ve istemcilerin tek bir veritabanını paylaştığı (sunucu ve istemciler aynı fiziksel veritabanına bağlı) ve istemcilerin, başka bir istemci bir veri kümesinde her değişiklik yaptığında bilgilendirilmek istediği bir senaryoyu çözmeye çalışır.

Demos klasöründeki SQLLite/SingleDatabase demosunu inceleyebilirsiniz.

Dataset Sunucusunu Yapılandırma

Yeni bir Dataset Protokol Sunucusu oluşturun ve aşağıdaki özellikleri kullanarak yapılandırın

oServer := TsgcWebSocketServer.Create(nil);
oProtocolDataset := TsgcWSPServer_Dataset.Create(nil);
oProtocolDataset.Server := oServer;
oProtocolDataset.Dataset := <...your dataset..>;
oProtocolDataset.ApplyUpdates := true;
oProtocolDataset.AutoSynchronize := false;
oProtocolDataset.NotifyUpdates := true;
oProtocolDataset.UpdateMode := upRefreshAll;
>oServer.Port := 80;
oServer.Active := true; 

Configure Dataset Client

Yeni bir Dataset Protokol İstemcisi oluşturun ve aşağıdaki özellikleri kullanarak yapılandırın

oClient := TsgcWebSocketClient.Create(nil);
oProtocolDataset := TsgcWSPClient_Dataset.Create(nil);
oProtocolDataset.Client := oClient;
oProtocolDataset.Dataset := <...your dataset..>;
oProtocolDataset.ApplyUpdates := true;
oProtocolDataset.AutoSubscribe := true;
oProtocolDataset.NotifyUpdates := true;
oProtocolDataset.UpdateMode := upRefreshAll;
oClient.Host := '127.0.0.1';
oClient.Port := 80;
oClient.Active := true;