クロスプラットフォームのサポートが必要だったので、Java/JavaFX でプログラムを書きました。作業が進むにつれて、Java では不可能な低レベルの OS ネットワーキング操作を行う必要がありました。私は Runtime.exec() から始めて、JNA/JNI に移行しましたが、Java の OS 互換性を維持することは、ネイティブ アプリケーションへの移植よりも多くの作業になるのではないかと心配しています。
これを行う最善の方法は何ですか?
GTK+ が *nix と Windows でサポートされていることはわかっているので、それを UI に使用すると思います。OS ごとに異なるバージョンのアプリケーションを維持するのはどれほど難しいでしょうか? クロス プラットフォームである必要があるが、低レベルの OS アクセスが可能なものを作成するための出発点をお勧めできますか? 私は Java の経験が豊富です (そして、OpenGL を使用した C++ のかなりの量) がありましたが、これまで Linux 以外のことを気にする必要はありませんでした。
または、生のパケットを作成し、ICMP ping を送信し、Java から他の低レベルのネットワーク タスクを実行する良い方法はありますか?