我一直在使用 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/