一:Asp.net SignalR
ASP .NET SignalR 是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信。什么是实时通信的Web呢?就是让客户端(Web页面)和服务器端可以互相通知消息及调用方法,当然这是实时操作的。
解决.net大环境下如何做到实时通讯。
二:SignalR的背景
1. 曾今我们知道的实时通讯 或者 伪实时通讯
实时通讯:
html5 => websocket 它的兼容性就出来了,为了应对更多的客户,我们不能一刀切, ws协议,这个协议基于tcp的。。。也就是说和http没有关系。
=> SSE 客户端订阅服务器的一个事件,然后方便通过这个事件推送到客户端。 server => client
=> 长链接 保持一次链接的时间,比方说我保持一个链接5s,
5s 5s 5s
=>forever frame [永久的框架]
在body中藏一个iframe,那么这个iframe和server是一个永久链接,如果server来数据, 通过这个链接推送到client。 【很勉强的实现方式】
=> 轮询 “通用性”是最强的,也是任何浏览器都支持的。ns轮询一次。。。
1s 1s 1s 1s
面对这些链接方式,出现了百家争鸣,这时候就必要要大一统起来,也就是做一个高层封装,这时候SignalR就出来了。
这个框架是微软的asp.net 团队的一个私人项目。
SignalR它对websocket,SSE,long polling,forever frame 这几个方式进行了封装,也就是择优的过程。
=> 根据浏览器当前的具体情况来选择一个最优的链接方式。
2. signalR-2.1.2.js
封装了几种实时通讯的方式。
共有条评论 网友评论