2009-03-31 10 views
1

私はリモートハードウェアを制御しているアプリケーション用にpersevereを使用しています。 PersevereはJavaで書かれており、代替APIは提供していません。私は彗星サーバーを使用しており、C++とやりとりしたいです

私はコントロールパネルとしてWebベースのGUIを使用しています。ここまでは順調ですね。

dojoのようにRESTチャンネルを使用してデータを取得して設定できますが、問題はRESTチャンネルの使い方がわかりません。どのライブラリを使用すればよいですか?

+0

curllib ++がRESTヘッダーを送信するための許容可能なソリューションか、別のライブラリを使用する必要があるかどうかを尋ねています。 –

+0

質問をより明確にする必要があります。 Persevereサーバーはリモートハードウェア上で動作しますか? WebベースのGUIを使用している場合、RESTヘッダーを送信するために別のライブラリが必要なのはなぜですか?システムのトポロジは物事を明確にします。 – kgiannakakis

+0

Persevereは、リモートハードウェアを制御するメインサーバー上で実行されます。 WebベースのGUIには、Persevereと直接対話するためのインターフェイスがあります。 私はdojox.data.PersevereStoreについて話しています。 リモートハードウェアを制御するプログラムはC++で書かれているので、C++でRESTチャネルを処理する最良の方法を知りたいと思います。 私はまたboost.asioについて語られました。 コードが明確になっているので、より良い選択肢のように見えます。 –

答えて

1

gccをツールチェーンとして使用する場合は、JVMにGCJを埋め込み、アプリケーション内で忍耐強く実行することができます。 GCJは、それがCNIインターフェース(JNIよりはるかに簡単)でJavaからC++を簡単に呼び出すことができます。私はこのメソッドを使って、C++アプリケーションの中でJava scriptingを使用しました。永続的なjarファイルをネイティブライブラリにコンパイルして、GCJを使ってアプリケーションにリンクすることもできます。

ベストリファレンスはGCJ Documentationです。
また、Linux Journalには、読むことができる記事Embedded Java with GCJが含まれています。
また、applications that use gcjを学習することもできます。

+0

うーん、いいアイデアと私は忍耐と直接インターフェイス? RESTチャンネルを使用する方が効率的ですか? 内部ソケットを送信する場合、10 GB /秒を渡すことができます。 –

+0

関数呼び出しに沸騰するので、できるだけ速くする必要があります。 GCJを使用すると、C++でJavaクラスを効果的に実装し、辛抱強く呼び出すことができます。 GCJコード部分から呼び出されたラッパーC++実装(C++例外処理のカプセル化)は、まだGCJでJavaとC++の例外処理を混在させることができないため、終了しました。しかしそれ以外の場合は、比較的無痛な経験でした。 – lothar

+0

私はLinux G ++に適合しているので 私が読むことができる実行例がありますか? GCJとG ++を呼び出すために必要なツールチェーンについてのチュートリアルもありますか? –

関連する問題