java - 如何保持服务器和 "Client Desktop App"同步?

标签 java synchronization dropbox appjs chdropboxsync

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

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

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

Dropbox 如何同步?

请帮忙!!!

最佳答案

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

当您有文件要推送时,请发送一条消息(例如“updatedFile”),然后列出 url。然后客户端可以下载该文件并保存到本地磁盘。

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

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

关于java - 如何保持服务器和 "Client Desktop App"同步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17296609/

相关文章:

java - 在没有 toString() 的情况下将 StringBuilder 写入 Writer

opencv - 廉价的立体视觉相机+ opencv

iphone - 如何从 dropbox APi 中识别文件或文件夹

ios - 如何将 Dropbox 共享链接(针对 zip 文件)下载到本地

java - 难以从 Java 中的文本文件中删除行

java - 如何扩展 afterPropertiesSet() 方法

java - GSS 异常 : Message stream modified (41)

python - 多线程在同一程序中运行UDP客户端和UDP服务器

java - java中同步块(synchronized block)的部分执行

Git 与 Dropbox 问题