作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在分布式系统类(class)中,我们讨论了一种算法来创建执行多播的算法,该算法可以容忍进程故障,并且仍然保证如果任何人接收到多播,每个人都只会收到一次。
但是,该算法依赖于可靠的单播。如果我们有一个可以随机丢弃数据包的有损单播而不是可靠的单播,是否有任何方法可以构建具有相同属性的多播算法?
最佳答案
通常可靠的单播(如 TCP、RUDP)是在不可靠的单播 (IP) 之上实现的。
所以,是的,您可以在不可靠的单播之上实现您的多播算法,但这可能意味着您必须复制可靠单播协议(protocol)提供的功能。这主要意味着要注意如果数据包丢失,发送方将重新传输它。
请注意,“可靠”协议(protocol)提供的保证通常相当薄弱(尽力交付)。如果底层网络通信变得非常糟糕,以至于您无法可靠地传输数据,它就会放弃。
关于algorithm - 没有可靠单播的可靠多播算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22344046/
我是一名优秀的程序员,十分优秀!