我有兩個應用程序通過TCP套接字進行通信。目前,這些應用程序都是本地應用程序,但將來,服務器應用程序將在雲上運行(Amazon EC2實例)。谷歌協議緩衝區VS JSON:C++到C#通信
服務器應用程序是用C++
客戶端應用程序被寫入C#
我送從服務器的目的是客戶端具有以下屬性:
Guid Id
uint8* ImageData
雖然,我可能希望在將來添加額外的屬性。不過,我會盡量保持這個對象儘可能小,因爲延遲在這裏很重要。
現在,我正在使用JSON在程序之間進行通信,但我對Google協議緩衝區(GPB)感到疑惑,因爲雖然JSON非常好,並且可以工作在東部,加上它是人類可讀的,但它確實有很大開銷和從外觀上看,正在引起通信的顯着延遲。
我在找什麼,是一種更高效的客戶端和服務器應用程序之間通信的方法。
GPB如何與JSON進行比較?有沒有人有高性能使用GPB的經驗?有沒有其他協議可能更適合這裏?
Google協議緩衝區經過優化以節省帶寬。從這個角度來看,JSON(因爲它是面向文本的)非常糟糕。 –