如何Java Web启动应用程序只下载一次

时间:2013-03-14 13:47:31

标签: java jnlp java-web-start

在我的应用程序中,JNLP启动了java webstart应用程序,该应用程序提供了以下几种功能:打开计算器,创建文件等。

但是,Jnlp应该只下载一次。下次当用户尝试调用Java web start提供的任何功能时,它不应该调用远程服务器而是调用localhost本身。 如何让jnlp下载一次并听取请求? 请帮帮我。 它是关于httplistener的东西?怎么实现呢?

3 个答案:

答案 0 :(得分:1)

如果我正确理解您的问题,您希望在JNLP文件中包含offline-allowed元素。

有关详细信息,请参阅http://docs.oracle.com/javase/6/docs/technotes/guides/javaws/developersguide/syntax.html

答案 1 :(得分:0)

要查看已下载的文件(JWS),请执行以下操作: <控制面板> Java&gt;常规&gt;查看...所有下载的文件都应该出现在这里。

答案 2 :(得分:0)

我怀疑你是否可以阻止(仅通过JWS / JNLP手段)再次运行JWS应用程序。但是,您可以在运行应用程序后尝试创建侦听套接字。如果成功,则等待此端口(在单独的线程中)并等待传入​​的消息---您选择的“幻数”。如果你得到一个,你回复一些代码告诉客户,“这个应用程序已在运行”。但是,如果您无法创建侦听套接字,那么您尝试向其发送一个幻数并听取回复。如果回复如上所述,您知道您的应用程序正在运行,您应该退出此实例。如果你得到了一些意想不到的回复,那么你重复上面的步骤,从创建监听套接字开始,但是在数字更高的端口上---对于客户端,如果你得到意想不到的答案,你会尝试发送幻数到端口+1插座。