有沒有一些方法來定義proto語法中的回調rpc過程?我正在嘗試定義RPC調用來啓動RPC服務器上的數據處理過程/循環,這會將結果異步地寫回RPC客戶端...任何想法? 謝謝protobuffers實現中的回調 - ?
1
A
回答
0
如果你在java世界,你可以使用https://code.google.com/p/protobuf-rpc-pro/庫在「連接」的兩端定義一個RPC服務 - 並且將RPC從服務器反轉回客戶端。在標準的google protobuf RPC接口中,沒有規定將數據返回給不在RPC響應中的客戶端。
2
這是一個非常合理的想要的事情,但對於RPC實現提供的令人驚訝的困難。一旦你有能力在運行時引入新的呼叫端點,你需要一種方法來垃圾收集它們,你需要延遲補償(以便當一個方法返回一個對另一個可調用對象的引用時,客戶端可以開始向它發送調用而不用等待用於網絡往返),並且您可能需要將對象傳遞到網絡中的其他計算機而無需代理。幾乎沒有協議實現所有這些事情 - CapTP是我所知道的唯一一個,它與一種晦澀的編程語言綁定在一起。
由於併發症的原因,協議緩衝區從來不會以一般方式支持此操作。單個基於Protobuf的RPC系統可能包含特殊情況下的特定用例,例如服務器爲響應單個調用而「流」多個消息。但是,.proto
語言語法沒有特殊的方式來表示除了客戶端完全是調用者的單例對象上的簡單方法調用之外的任何其他方法。
FWIW,我目前正在研究一種新的替代方案,它具有CapTP的特性,但是Protocol Buffers的實用性,稱爲Cap'n Proto。但是,RPC的實施還有幾個月的時間。 (我也是Protocol Buffers v2的作者)。
相關問題
- 1. 在protobuffers
- 2. 在opa中實現回調
- 3. 在Qt中實現回調
- 4. Cython - 實現回調
- 5. FakeItEasy回調實現
- 6. Pubsubhubbub訂閱PHP中的回調實現
- 7. 在protobuffers中處理空值
- 8. GreenDao如何實現回調
- 9. 在JavaScript實現回調
- 10. 實現Web服務回調
- 11. 如何在C++中實現回調?
- 12. 無法在Android中實現回調
- 13. 在Android中實現方法回調
- 14. 如何在JavaScript中實現before_filter回調?
- 15. 在Delphi中實現DLL回調
- 16. 在XML-RPC或SOAP中實現回調
- 17. 如何在Angular4中實現ngFor回調?
- 18. 在WP7中實現回調C#
- 19. 使用Runnable在Java中實現回調
- 20. 在ASP.NET中實現JavaScript回調?
- 21. 如何在Java中實現回調
- 22. 在Objective-C中實現C回調
- 23. 在時間軸中實現回調
- 24. 在MVC中實現WCF回調
- 25. 如何在Ruby中實現「回調」?
- 26. AngularJS回調函數的實現
- 27. 實現常量和採取的回調
- 28. 如何實現JavaScript風格的回調?
- 29. JavaFX的回調實現與拉姆達
- 30. wirecloud/fiware「未註冊的回調」,但回調函數實現