【发布时间】:2012-02-01 12:10:04
【问题描述】:
我正在设计一个文件同步应用程序(如 DropBox)。客户端在端口 443 上与服务器保持持久的安全 (SSL) TCP 套接字。每当在客户端上创建/更改/删除文件时,都会通过套接字将包含相关数据的数据包发送到服务器,服务器将其处理为更新服务器上的文件。同样,当服务器发生变化时,它会将相关数据发送给客户端,然后客户端更新本地副本。
当服务器位于本地计算机或本地 LAN 上时,这绝对可以正常工作。我担心的是客户端在不可靠的网络上时。 所以我的问题是在设计这样的应用程序时要考虑哪些最佳做法和问题?
例如,当在客户端创建文件时,客户端应该只是将数据发送到服务器并忘记它,还是应该在特定时间段内等待服务器的确认,发送失败又是数据?以及什么样的认可?
【问题讨论】: