1

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

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

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

Dropbox 是如何同步的?

请帮忙!!!

4

2 回答 2

0

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

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

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

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

于 2013-06-26T09:15:50.570 回答
0

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

于 2013-11-30T16:29:00.043 回答