DataSet 프로토콜의 UpdateMode

· 기능

sgcWebSockets Dataset 서브프로토콜을 사용하면 연결된 모든 클라이언트에 데이터베이스 변경 사항을 브로드캐스트할 수 있어요. sgcWebSockets 4.3.8부터 이 프로토콜은 두 가지 업데이트 모드를 지원해요.

1. Replicate Table: 데이터셋이 변경되면 프로토콜이 데이터셋 클라이언트를 업데이트해요.

2. Notify Updates: 데이터셋이 변경되면 프로토콜이 클라이언트에 알려요. 

Replicate Table 

이 모드는 연결된 모든 클라이언트에 테이블이 복제되는 일반적인 시나리오를 해결해요. 예를 들어, 주식 시세 테이블이 있는 서버가 있고 모든 클라이언트주식 변경 사항을 브로드캐스트하고 싶지만 클라이언트가 데이터베이스에 직접 연결하지 않도록 하고 싶을 때 사용해요. 따라서 주식 시세에 변경이 있을 때마다 레코드 정보가 모든 연결된 클라이언트에 브로드캐스트돼요. 모든 클라이언트는 레코드를 읽고 자체 테이블을 업데이트해요.

Demos 폴더의 SQLLite/MultipleDatabase 데모에서 확인할 수 있어요.

Dataset 서버 구성

새 Dataset 프로토콜 서버를 만들고 다음 속성으로 구성해요.

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 클라이언트 구성

새 Dataset 프로토콜 클라이언트를 만들고 다음 속성으로 구성해요.

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 

이 모드는 서버클라이언트단일 데이터베이스를 공유하는 시나리오를 해결해요(서버와 클라이언트가 동일한 물리적 데이터베이스에 연결됨). 다른 클라이언트가 데이터셋을 변경할 때마다 클라이언트가 알림을 받고 싶을 때 사용해요.

Demos 폴더의 SQLLite/SingleDatabase 데모에서 확인할 수 있어요.

Dataset 서버 구성

새 Dataset 프로토콜 서버를 만들고 다음 속성으로 구성해요.

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; 

Dataset 클라이언트 구성

새 Dataset 프로토콜 클라이언트를 만들고 다음 속성으로 구성해요.

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;