在实现自己的同步业务逻辑之前,强烈建议运行测试应用程序并检查至少两个实例是否已经良好同步。这样可以确保功能正常工作,并且在出现问题时,可以确定问题出现在实现层面。测试应用程序位于以下路径:
[项目目录]Roniz.WCF.P2P.ApplicationTester\bin\Debug\Roniz.WCF.P2P.ApplicationTester.exe
以下是测试应用程序的界面说明:
点击“连接”按钮将打开通道,并且可以在窗口的诊断详细信息部分确定状态。首先,将每个WCF通道从“创建”更改为“打开中”再到“已打开”,并且它会插入用户详细信息部分输入的自己的数据。然后,当其他节点加入Mesh网络时,两个节点应该将状态更改为“在线”,并且两个节点将同步他们的信息。
以下截图显示了节点A和B连接到Mesh网络并且处于“已打开”状态时的状态。在上线(至少与一个其他节点连接)之前,每个节点显示自己的数据,但尚未同步(节点C尚未连接)。
接下来,处于已打开状态的节点会自动尝试相互连接。当一个节点至少与另一个节点连接时,其状态会更改为“在线”,并且同步流程开始。
以下截图显示了节点A和B连接并且处于在线状态——因此它们是同步的。节点C尚未连接。
点击“发送自己的详细信息更新”将更新所有节点,使它们拥有用户详细信息部分输入的自己的数据。