C++/Qt アプリケーションがあります。私はJavaを使ってそれと話したいです。TCP サーバー/クライアントを作成できることはわかっています。他にどのようなオプションがありますか?
問題は、アプリケーション内に TCP サーバーを作成しましたが、それが機能しないことです。ただし、スタンドアロン モードで実行すると問題なく動作します。そのため、C++ と Java の間の通信の代替方法を探しています。
C++/Qt アプリケーションがあります。私はJavaを使ってそれと話したいです。TCP サーバー/クライアントを作成できることはわかっています。他にどのようなオプションがありますか?
基本的に、あなたが探しているのは、両方の言語で適切にサポートされている IPC です。そこにはいくつかの解決策があります。
Java および C++ ソケット通信。. 明らかに、QtNetwork とそこにあるソケット クラスは、Qt 側での友人になる可能性があります。
http://www.velocityreviews.com/forums/t279534-communication-between-ac-and-java-program.html
Java ネイティブ インターフェイス。Java から C/C++ メソッドを呼び出すことも、その逆も可能ですが、これはおそらく最も遅いソリューションの 1 つです。
共有メモリ (SHM) (ここでは、QSharedMemoryが Qt 側で役立ちます)。
Dbus (ここでは、QtDbusが Qt 側で役立ちます)。ただし、これは必ずしもクロスプラットフォームのソリューションではありません。
個人的には、Qt API で raw ソケット ベースの低レベル ソリューションを使用することをお勧めします。これは私の意見では最も信頼性が高く、十分に証明された技術です。Java 側には Qt スタイルの API を備えたQt Jambiがあり、もちろん C++ ではQtNetwork APIを取得します。これにより、少なくともプロジェクト全体である程度の一貫性が得られます。