我的任务是为 Java 应用程序提供某种形式的网络许可控制。该应用程序将存储在网络驱动器上并从客户端计算机运行。基本思想是,它将能够计算出它同时运行了多少次,并防止第 N+1 个用户运行该软件,其中 N 是客户购买的并发许可证的数量。
这对 Java 应用程序有可能吗?我实现了一个“解决方案”,它依赖于应用程序运行实例之间的多播 UDP 通信,但这不起作用,因为在大多数网络上,这种通信被安全措施阻止了。
有没有更好的办法?我什至不介意它是否需要 JNI/JNA。
注意 该解决方案不必那么复杂或高度安全。