SL多播获得授权最多需要21秒
原文的描述比较拗口,本人经过测试验证最多需要21秒。
测试后的简单理解如下,最多发送3次公告,前两次发送公告后最多等待3秒,第三次发送公告后最多等待12秒。第一次发送公告后3秒未获得授权会等3秒。
按时间顺序描述如下,假设第3次发送公告后还未获得授权:
第0秒发送第一次公告,
第3秒后未获得授权,等待3秒
第6秒时发送第二次公告,等待3秒,
第9秒未获得授权,发送第三次公告,等待12秒,
第21秒未获得授权,进入60秒避退期,即接下来的60秒来不能重复发送公告。
msdn原文描述如下:
如果 Silverlight 运行时在 3 秒内未收到匹配的授权消息,则 Silverlight 运行时将假定公告已删除并且将重新发送一个新公告。 如果未收到任何匹配的授权,则在 6 秒后将重复相同的重新发送。 如果在第三次重新发送后 12 秒尚未接收到匹配的授权消息,则策略检查将被视为已失败,并且应用程序将接收 SocketException 以及 SocketError.AccessDenied。 如果在超时前的任何时间点收到了匹配的授权消息,则策略检查将成功,并且允许应用程序访问多播组。
在策略检查过程中应用程序发起的加入多播组的任何其他尝试都将等待,直到策略检查完成后再开始。 如果某个策略检查失败,则在下一个 60 秒内加入多播组的另一个尝试将等待,直到超过这个 60 秒的退避期后,再开始策略检查。 这样可以避免恶意应用程序或编写拙劣的应用程序使用反复的策略检查在网络上造成过多的流量。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?