我想从设备 A(发送方)向设备 B(接收方)发送短数据,
这样如果设备 B 将保存数据,那么设备 A 必须将其从存储中删除。
如果 B 不保存或 A 不删除通信必须恢复(就好像根本没有通信一样)
通信是在不稳定的信道上进行的,所以很有可能发生这种情况 在某些部分被打破。
我该如何解决这个问题?
它可以在 C++ 中。
最佳答案
基于 TCP 的算法(可靠、有序、错误检查的传送):
- A将数据发送给B
- B保存数据
- B 发送 OK 给 A
- A永久删除数据
- B 只保留数据(不删除它)。
异常(exception)情况:
- 如果某些步骤失败,请不要执行下一步。
- 如果 B 没有从 A 收到 OK,则 B 不会永久保存数据。
- 如果 A 没有收到 B 的 OK,A 不会永久删除数据。
按节点详细说明:
一个
- 向B发送数据
- 等待确定
- 接收成功
- 删除数据
B
- 接收数据
- 保存数据
- 发送成功
- 接收成功
关于android - "Atomicity"两个设备通信中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20639041/