1
我有一個應用程序,需要將運行在Windows上的.NET應用程序的命令發佈到通過兩臺機器之間的專用以太網連接在Linux上運行的C++應用程序。具有大量消息的跨平臺RPC
而不是滾動我自己的協議,我寧願使用一些標準形式的RPC。以前,我已經使用XML RPC作爲跨平臺應用程序,但是這些特定的命令需要包含大量的數字數據(每個命令有數千個雙浮點值),並且頻繁地發送命令,所以我想到了某種二進制序列化更合適。因此,我開始研究Protocol Buffers。
所以,有幾個問題:
- 我知道,Protocol Buffers的定義序列化格式,但有如何使用它們來執行跨平臺RPC任何公認的行業標準?
- 協議緩衝區是否非常適合用可變大小的數組表示嵌套數據結構?每個命令的點數是可變的,部分數據的最自然表示是一個結構數組,每個結構都包含一個點數組。所有這些數組對於任何給定的命令都將具有可變大小。
- 使用協議緩衝區進行跨平臺通信時遇到任何問題嗎?