2

何を実装する必要があるのか​​を説明するのは非常に難しいので、それができることを心から願っています。

ipcメッセージキューを使用してデータを送受信するCプロセスがあります。また、そのCプロセスとの間でメッセージを送受信する必要があるJavaアプリケーションがあるため、そのキューにアクセスする必要があります。

私はこれを行う方法を探していましたが、JNA(java natice access)が解決策になると思います。問題は、必要なメソッド(msgget、msgsnd、msgrcv、msgctl)をマップして使用できるように、明らかにDLLが必要なことですが、どのDLLをロードする必要があるかわかりません。私はこれでかなり新しいので、私は道に迷っています。

これら2つのアプリケーションをメッセージキューを使用して通信させる別の方法はありますか?または、JNAは優れたソリューションであり、ロードする正しいDLLを見つけるだけで済みますか?

前もって感謝します。

4

3 に答える 3

1

それがオプションである場合は、別の通信方法を使用するようにCプロセスを変更できます。私の経験では、ソケットはCとJavaのプログラム/プロセス間で通信するための最も面倒な方法ではありません。

于 2012-08-08T18:11:41.397 に答える
0

JNAの使用は完全に合法ですが、どういうわけか注意が必要です。

この投稿「JavaPOSIXIPC」には、JavaまたはJavaライブラリを使用してそれを行う方法に関するいくつかの手がかりがあるかもしれません。

于 2012-08-08T18:09:48.653 に答える
0

あなたがdepend.exeを見つけることができれば(私はVS 2005がそれを持っていることを知っています)、それはあなたに各dllがエクスポートする関数を示すことができます。cプログラムで実行して、関数がどこから来ているかを確認します。実際の関数の場合は、JNAを使用できます。関数は実際には単なるラッパーである可能性があり、その場合はJNIを使​​用する必要があります

于 2012-08-08T18:11:14.203 に答える