我用 Java/JavaFX 编写了一个程序,因为我需要跨平台支持。随着我的进步,我需要做一些在 Java 中无法实现的低级操作系统网络操作。我从 Runtime.exec() 开始,转移到 JNA/JNI,现在我担心维护 Java 的操作系统兼容性最终会比仅仅移植到本机应用程序更多的工作。
做这个的最好方式是什么?
我知道 *nix 和 windows 支持 GTK+,所以我想我会在我的 UI 中使用它。为每个操作系统维护不同版本的应用程序有多困难?您能否推荐一个起点来编写需要跨平台但仍具有低级别操作系统访问权限的东西?我有很多 Java 经验(以及大量使用 OpenGL 的 C++),但我以前从来不用关心 Linux 以外的任何东西。
或者,有没有一种好方法可以从 Java 构建原始数据包、发送 ICMP ping 以及执行其他低级网络任务?