signalR消息结构标志澄清?

Roy*_*mir 1 asp.net signalr

我在这里读到了signalR的响应消息的结构:

例如

  • 对于 PersistentConnection

    {"C":"B,2CE|K,C|L,2|M,0|I,0|J,0","M":["foo"]}

哪里

Persistent Response:
C - cursor
M - Messages
T - Timeout (only if true) value is 1
D - Disconnect (only if true) value is 1
R - All Groups (Client groups should be reset to match this list exactly)
G - Groups added
g - Groups removed
Run Code Online (Sandbox Code Playgroud)

Question #1

发送消息部分有什么问题?为什么我需要所有"C"信息?客户端只需要消息.消息号#N 依赖于消息号#N-1(AFAIK) - 所以我没有看到这个"C"部分的原因.(我假设错过了这里的错误).

Question #2

即便如此,我如何理解令牌的含义?我在手册中没有看到"K,L,I,J,2CE"代币.

在哪里/我如何理解他们在说什么?如果我不希望服务器发送该信息但仅发送消息,该怎么办?

Gen*_*ent 6

开源有一个经常超越的功能.您只需下载源代码并浏览一下即可.只需在源代码中搜索字符串"R",我就可以找到您正在寻找的一些信息.

Answer #2: 这些速记属性名称直接映射到SignalR中的对象的JsonSerialization.HubResponse

  • S - 州
  • R - 结果
  • 我 - 我
  • E - 错误
  • T - StackTrace

PersistantResponse

  • L - LongPollDelay
  • D - 断开连接
  • T - TimedOut
  • G - GroupsToken

在当前的代码库中找不到其他一些,并且由于您提到的问题是7个月大,我猜它们已被重构.

Answer #1: 元数据对SignalR的运行方式非常重要.框架的双刃剑是我们卸载域或它解决的框架及其创建者,我们暗中同意让他们成为域专家.有时这会使它成为一个黑盒子,如果你想看看每个属性实际用于下载源代码并遵循代码.如果由于某些性能原因,你觉得有必要修改一些你认为是无关的代码,并给它一个镜头.

  • @Gent史诗般的答案:) (2认同)