2017-05-05 133 views
1

我用Thrift框架編寫了一個客戶端服務器程序,因爲服務器是用C#編寫的,而客戶端是用Java.My的問題是,我該如何發送消息使用Thrift的聽衆?例如,我的程序有一個列表,表示服務器在連接到每個客戶端時發送給每個客戶端。如果我有三個客戶端連接到服務器,並且其中一個客戶端修改了該列表(在服務器啓動之前聲明),那麼如何通知其他客戶端該列表已被修改?Thrift:發送一條消息給所有連接到服務器的客戶端

謝謝。

回答

3

問題一直asked在多次各種方式。周圍還有at least one yet unsolved JIRA ticket

一般的答案是在這個時候,鑑於目前的現狀是:沒有內置的方式,但確實有一些可行的替代方案:

選項#1:人們可以使用長輪詢或類似機制來模擬它。當客戶住在瀏覽器中時,這特別方便。

選項#2:如果客戶端不是生活在一個瀏覽器,推薦的方法是讓客戶開始自己的儲蓄服務器,使服務器創建一個連接返回到客戶端。

選項3:關於@ Rui的評論:Thrift是一個序列化和RPC框架。這提供了僅使用序列化部分的選項,並以不同方式傳輸消息,即使在Thrift RPC之外也是如此。我們用消息總線系統做到了這一點,並且效果很好。

+0

選項2看起來像我正在尋找的。非常感謝你 :) – Artyomska

相關問題