如果你想自己做,这可能是一个非常好的但具有挑战性的练习。我不知道有任何第三方框架可以促进“iDevices”之间的 P2P 连接,除了下面的那些,来自 Apple。如果您不想重新发明轮子,您可以沿着这些思路进行一些研究。我是根据我通过应用服务器实现同步服务的(很少)经验来回答的——原则必须或多或少与 P2P 方法相同。
第一步是设计一个用于同步数据的协议。您可能需要自己回答的问题:
- 关于数据同步我需要了解什么?
- 我想同步我的核心数据模型的哪一部分?我应该对当前模型进行更改以促进同步吗?
- 我将使用什么序列化/反序列化机制?
- 我将如何能够在多个设备上唯一地识别实体?
- 我将如何对我的数据进行版本控制?如何判断哪些实体需要同步?
- 我是否需要能够恢复同步操作?
- 我将如何跟踪同步进度以及如何处理失败和异常情况?我将如何通知用户这些?
- 我更喜欢“增量”同步(模型的一部分)还是“全局”同步(同时同步整个模型)?
- 用户需要多久在设备之间同步一次?
- 是否有任何安全考虑?我需要加密吗?
- 等等
这只是触及表面而已。随着您的前进,您肯定会发现更多需要考虑的事情。
接下来,确定您希望如何在设备之间进行连接。您似乎更喜欢无线解决方案,即 P2P 类型。为此,我将从查看以下工具开始:
根据前面讨论的设计决策选择您觉得最舒服的工具。我无法帮助你,因为我对他们中的任何一个都没有任何经验。正如墨菲斯所说:
我只能给你看门。你是那个必须走过它的人。
抱歉,有点幽默:)
最后,决定实施同步机制的解决方案。例如,您可以选择客户端-服务器模型(一台设备将侦听连接,另一台将启动它)。
更多相关文档:
我希望这能给你一个开始的道路。