似乎SignalR服务器可以在消息发送到客户端之前丢弃消息,如果它的内部缓冲区溢出(请参阅https://github.com/SignalR/SignalR/issues/2075).目前,我们为所有消息添加序列号,以便客户端检测丢失的消息,但我们宁愿检测服务器上的消息丢失并在那里处理它.那可能吗?
小智 0
SignalR 处理消息的方式本质上是异步且无状态的。服务器没有内置机制来检测是否未收到消息。如果您寄出一封信,除非您询问收件人,否则您不知道它是否在途中丢失。
正如 @MEYWD 在评论中指出的,如果您愿意,您可以添加此功能。如果客户端知道它拥有的最新序列号,它可以询问服务器是否还有尚未收到的消息。扩展 SignalR 来检测这类事情并不困难。