2012-02-13 37 views
0

我正在尋找一種在Java和C之間實現RPC的方法。有什麼選擇可以做到這一點?Java和C之間的遠程過程調用

最良好的祝願

P.S我這是GlassFish服務器和C守護程序上託管的Web Java應用程序。我需要從購買方直接調用函數。

+3

你看過JNI嗎? http://en.wikipedia.org/wiki/Java_Native_Interface – 2012-02-13 23:04:58

回答

2

RPC的重點在於讓不同系統上的兩個不透明進程在網絡上相互通信。使用的語言是不相關的,除了您必須學習兩種語言的相應RPC庫。

+0

我找到了Java和C之間的CORBA解決方案。這是一個解決方案,這是經常使用? – 2012-02-13 23:55:33

+0

是的,廣泛應用於軍事領域:JTRS-SCA(聯合戰術無線電系統 - 軟件通信架構)規範在軍用SDR(軟件定義無線電)的無線電 – 2012-02-14 01:29:49

1

Google Protocol Buffers解決了序列化的一些困難,並提供了「RPC服務」抽象。你需要實現「遠程」部分 - 發送數據等 - 但它會給你跨語言兼容的序列化。

Google實現本身不支持僅C語言的C++,但它看起來像C是add-on的語言之一。

1

另一種選擇是開源的「thrift」庫(最初來自facebook)。它還支持以多種語言生成本地存根。儘管我懷疑@Louis Wasserman建議的協議緩衝庫比thrift質量更高。