桌面应用程序和web应用程序之间的通信

Communication between a desktop app and a web app?

本文关键字:应用程序 通信 之间 web 桌面      更新时间:2023-09-26

我有兴趣有一个桌面应用程序发送消息到一个web应用程序。具体来说,桌面应用程序,用Java编写,需要发送消息到一个Javascript函数,将在浏览器中运行。消息只需要以一种方式发送。而且,这两个程序将在同一台本地机器上运行。如果有必要,我可以设置一个本地开发服务器。

我是网络和web开发的新手,我不知道如何处理这个问题。谁能提点建议吗?

我认为正确的方法(如果不是唯一的方法)是通过一个服务器,两个应用程序都与

对话

我推荐的企业架构方式是:

    将公共信息放到webservice中。
  1. 网站发送信息,可能通过ajax或通过导航到不同的URL或做一个表单POST到web服务。
  2. 桌面应用将启动并订阅webservice。一旦桌面应用有更新,webservice就会通知它。(注意,桌面应用程序,可能需要轮询更新)。

这就是像flikr, twitter等服务使用的方法。

轻量(即更小的架构)的破解方式是让你的网站有一个RSS源,你的桌面应用程序订阅。桌面应用程序通过RSS源更新。

这就是新闻网站等服务向读者发送更新的方式。将google reader作为RSS客户端示例。RSS有一个优势,从一开始就支持一般的RSS用户,如MS outlook或google reader,而从长远来看,web服务可能会更加灵活和干净。

为什么桌面应用程序需要与javascript对话?你真正想做的是什么?向数据库发送或从数据库接收数据?在web应用程序上运行一些业务逻辑?这些事情通常是使用肥皂或rest从桌面应用程序到网站完成的。

浏览器是否以某种方式嵌入桌面应用程序?或者它只是作为一个单独的进程运行?看起来音频处理真的应该在桌面应用程序中运行。

然而,假设浏览器作为一个独立的应用程序运行,你应该能够通过查询字符串向浏览器发送消息。桌面应用程序可以启动浏览器,指向一个url并向其传递一些参数。然后javascript可以处理这些参数。谷歌是否可以用jquery处理查询字符串参数。

嵌入一个简单的容器,如jetty,然后使用Jersey或一个简单的Servlet