假设我的网络连接丢失了几秒钟,我错过了一些SignalR服务器推送的消息.
当我重新获得网络连接时,我错过了丢失的消息?还是signalR处理它们并在重新连接时将它们推出?
如果它无法处理错过的消息,那么确保一致性的建议方法是什么?
小智 10
以下是一些想法:
如果您不是每秒发送大量消息,请考虑在消息本身中不发送任何数据.相反,该消息只是对客户端的"ping",告诉他们在可能的情况下获取服务器数据.正如你所说,将它与定期民意调查相结合,你可以放心,你不会错过任何信息.他们可能会被推迟.
如果您要快速发送大量邮件,那么如何为每个邮件添加顺序ID?想一想SQL Identity专栏.您的客户需要跟踪收到的最新ID.网络重新连接后,客户端可以询问自[Last ID]以来的所有消息.如果收到的ID与最近收到的ID不相邻,则表示存在断开连接,并且可以向服务器询问缺少的信息.
| 归档时间: |
|
| 查看次数: |
2726 次 |
| 最近记录: |