[英]Server to client communication gRpc
我在試圖找到解決方案時遇到了一些麻煩,想知道是否有人可以指出我正確的方向。
我正在實現一個系統,其中多個客戶端使用 gRpc 與服務器進行通信。 服務是用 golang 編寫的,客戶端是用 C 編寫的。
我試圖找出如何最好地處理從服務器到客戶端的通信。
到目前為止,我考慮過的選項是:
我也不完全相信在 C 中實現上述每一項所需的工作,因為 C 中似乎沒有包含很多輔助功能
所以我使用go客戶端+服務器實現了一個解決方案。 利用雙向 rpc 流,
這是保持連接對連接的客戶端開放的合理方法嗎?
關於您的選擇:
我不知道你的用例,但通常你不能要求或保證用戶可以打開偵聽器。 正常的方式是客戶端連接到服務器並保持通道打開。
gRPC
可用作流接收服務器端事件 (SSE)。 所以這可能是一個不錯的選擇。 https://docs.servicestack.net/server-events-grpc#streamserverevents
這是保持連接對連接的客戶端開放的合理方法嗎?
我看不出這種方法有什么問題。
到目前為止,我不知道通過 WebSocket 以外的 http 協議來通信事件的更好解決方案。 它很容易實現,有一個基於事件的成熟API,支持文本和二進制數據。 從開發的角度來看,您只需要擔心ws
或wss
協議的特定反向代理規則。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.