Java应用程序的网络许可证控制

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

我的任务是为Java应用程序提供某种形式的网络许可证控制。该应用程序将存储在网络驱动器上,并从客户端计算机运行。其基本思想是,它将能够计算出并发运行的次数,并防止第N+1个用户运行软件,其中N是客户购买的并发许可证数量

这在Java应用程序中是可能的吗?我实现了一个“解决方案”,它依赖于应用程序运行实例之间的多播UDP通信,但这不起作用,因为在大多数网络上,这种通信被安全措施阻止

有更好的办法吗?我甚至不介意它是否需要JNI/JNA


注意:解决方案不必那么复杂或高度安全。

我建议您使用现有的商业许可证管理产品,如FlexLM。通过实施自制替代品,您是否能节省资金是值得怀疑的


注意:解决方案不必那么复杂或高度安全

如果不安全,有什么意义

(您可能已经知道,不可能构建一个无法绕过或以某种方式禁用的许可证系统。许可证管理对您的客户来说是一件痛苦的事情……事实上,对您自己来说也是如此,因为您必须提供额外的客户支持。然后,您需要混淆您的客户代码,这会给您的客户带来额外的麻烦,并给您带来支持方面的痛苦。)