SignalR协议版本1.2和1.3之间的区别?

时间:2013-10-19 12:53:09

标签: signalr

SignalR协议版本1.2和1.3之间有什么区别? 我已经检查了发行说明和github repo,但无法弄清楚改变了什么。

2 个答案:

答案 0 :(得分:4)

最大的变化是当客户决定他们“连接”时。在1.3协议中,初始化消息被发送回客户端,然后客户端才认为自己已连接。相关代码:

https://github.com/SignalR/SignalR/blob/dev/src/Microsoft.AspNet.SignalR.Client/Transports/TransportHelper.cs#L244

答案 1 :(得分:3)

这可能是我在客户端使用longPolling时注意到的更改的不完整列表:

在协商GET请求中,客户端协议和连接数据作为GET参数添加到URL:

  • 1.2只是〜/ signalr / negotiate
  • 1.3是〜/ signalr / negotiate?clientProtocol = 1.3& connectionData = [hubs的名称]

在协商JSON repsonse中,clientProtocol现在是1.3而不是1.2。

在longPolling的send POST请求中,connectionData(集线器的名称)将添加到URL中。

在服务器的longPoll响应中,正如dfowler所提到的,添加了一个初始化连接的“S”。