我们有一个服务器应用程序和两个独立的客户端应用程序(两个都有不同的功能 - 一个用于前台,另一个用于后台).一切都是用Java编写的.
我们现在需要的是:如果两个应用程序都在运行 - 单击一个应用程序中的按钮 - >检查其他应用程序是否打开并触发该应用程序上的某些功能(显示消息,打开一个框架)
如果其他应用程序未打开 - >它应显示一条消息说明.
任何人都可以指出我正确的方向来实现这一目标.我能给出的最好的现实生活示例是:如果安装了iTunes应用程序,那么点击Web浏览器中的itunes链接会打开相关的appstore页面.
编辑:我们的应用程序根本不涉及网站.一切都使用Swing.
没有"最好"的方式来实现应用程序间通信,但有很多方法; 最好的一个将是最适合您的环境:网络条件,防火墙,呼叫数量,同步与异步等...
通常使用以下任一方式实现通信
在Java世界中,
RPC通常使用其中之一来实现
可以使用消息实现消息传递
混合方法是REST,由于易于实现和网络友好的优点而变得非常流行,但是具有不正式化的缺点.它是一种技术而不是规范.我会看看有关JAX-RS和Restlet和Jersey等框架的文档,以帮助您入门.
(编辑)我故意没有提到使用Java套接字开发自己的套接字.IO被定义不纯,往往多线程:IO是非常很难得到正确.如果你真的坚持沿着那条路走下去,至少应该使用像Apache Mina或Netty这样的合适框架.