如何使服务器和“客户端桌面应用程序”保持同步?

时间:2013-06-25 11:53:28

标签: java sync dropbox appjs chdropboxsync

我一直在使用AppJS(HTML5,JQUERY)开发桌面应用。在我的应用程序中,我要求用户输入他/她的本地计算机的文件夹路径(应用程序正在运行)并将该信息存储在服务器上的数据库中。

每当文件在服务器上更新时,我都必须将文件推送到该文件夹​​(在用户的计算机上)。我该怎么做到这一点?如何让客户端和服务器保持同步,以便服务器可以将该文件推送到本地计算机。

我已经为服务器编写了调度程序应用程序,它将文件推送到客户端。但是,我没有得到如何将该文件推送到特定客户端。我需要什么参数将文件推送到客户端,如客户端的机器MAC地址或其他东西。

dropbox如何同步?

请帮助!!!

2 个答案:

答案 0 :(得分:0)

如果您能够在服务器上运行nodejs,那么您可以使用socket.io在客户端和服务器之间进行通信。把它想象成像msn或skype这样的聊天室。当用户打开appjs应用程序时,它可以连接到服务器。

如果要推送文件,请发送“updatedFile”之类的消息,然后列出该网址。然后,客户端可以下载该文件并保存到本地磁盘。

这样所有连接的客户端都可以下载更新,无需一直轮询 - 只需打开websocket。

当客户端连接时,它可以发送消息changeSince timestamp并接收服务器上所有已更改文件的列表,然后可以下载并逐个保存到本地磁盘。

答案 1 :(得分:0)

您可以尝试使用像rsync这样的工具来直接帮助您实现这一目标。 http://en.wikipedia.org/wiki/Rsync