SignalR 在不支持 HTML5 的浏览器中使用什么技术?

What technique SignalR use in case of non-HTML5 supported browsers?

我是 Signal R 的新手,关注过一些文章,例如

http://www.c-sharpcorner.com/UploadFile/abhijmk/what-why-and-how-about-signalr/

http://www.asp.net/signalr/overview/getting-started/introduction-to-signalr

并严格练习

http://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr

但是在研究 What is SignalR ? 时,作者提到“如果浏览器不支持 HTML5,它会使用其他技术 。”

我很想知道这方面的详细信息。

来自官方FAQ (https://github.com/SignalR/SignalR/wiki/Faq):

SignalR 使用回退机制将浏览器连接到服务器。在初始协商请求之后,将按顺序尝试以下传输,直到可以建立成功的连接:

  • WebSockets(如果服务器和浏览器都表明他们可以支持websockets)

  • Server Sent Events,又名EventSource(如果浏览器支持Server Sent Events,基本上就是除Internet Explorer之外的所有浏览器)

  • 永久框架(仅适用于 Internet Explorer)

  • Ajax 长轮询

WebSockets 是唯一真正的全双工连接传输。此处列出的所有其他传输使用 technique/technology 为来自服务器的传入数据命名,标准 Ajax POST 用于从客户端发送到服务器。