SignalR (一)
关于SignalR
因近期要在项目中使用 SignalR 来开发实时web 程序,可在这之前,对SignalR 的了解并不是很多,甚至不知道 SignalR 到底是用来干什么的,可是在经过这段时间的学习和做的一些SignalR 项目,对 SignalR 有了一些了解,以下是我自己对 SignalR 的理解。
ASP.NET SignalR 是一个为 ASP.NET 开发人员的库,简化了将实时 web 功能添加到应用程序的过程,可用于添加任何需要实时交互的web 程序,或全新类型的 web 应用程序需要高频率更新在服务器上,使客户机与服务器能够双向通信,并保证连接是持续的。例如在线聊天室和在线股票。
SignalR会自动管理客户端连接,允许服务端向所有客户端推送信息,也可以向特定的客户端发送信息。客户端与服务商之间的链接是持久化的,不像每次都开启一个新链接的传统HTTP连接方式。
SignalR 支持"服务器推送"功能,可由服务器代码推送内容给连接客户端立即可用,而不是服务器等待客户端请求新的数据,即请求-响应 。以通过服务总线、SQL SERVER数据库或Redis扩容至数千客户端。
SignalR是开源的,可以通过Github获取。获取地址:
SignalR 提供了简单的 API ,可通过在浏览器中使用 javascript 函数来进行调用从服务器端.NET 代码的服务器到客户端的远程过程调用 (RPC),SignalR 还包括用于连接管理的 API (例如,连接和断开连接事件和分组连接。
SignalR 在可用,使用新的 WebSocket 传输和回退到较旧的运输,在必要时。虽然您肯定可以编写您的应用程序直接使用 WebSocket,使用大量的额外的功能,您将需要实现已经将被做为你的 SignalR 手段。最重要的是,这意味着您可以编写应用程序,利用 WebSocket,而不必担心为旧式客户端创建单独的代码路径。 SignalR 也盾牌你不必担心对 WebSocket,更新,因为 SignalR 将继续更新,以支持变化基础传输协议,提供您的应用程序跨 WebSocket 版本一致的接口。
当然,您可以创建一个使用 WebSocket 单独的解决方案, SignalR 提供的所有功能,您将需要自己写的如回退到其他的交通工具和修改您的应用程序更新到 WebSocket 实现。 SignalR 连接
SignalR 连接为 HTTP开始,然后提升到 WebSocket 连接,并自动检查webSocket是否可用。WebSocket 是理想的传输协议, SignalR可使服务器的内存最有效的利用,具有最低的延迟,和最基本的功能 (比如全双工通信客户端和服务器之间),但它也有最严格的要求: WebSocket 要求服务器使用 Windows Server 2012 或 Windows 8 和.NET 框架 4.5。如果不满足这些要求, SignalR 将尝试使用其他的传输协议,使其连接。
使用HTML 5
Signalr的全双工通信功能取决于对HTML 5的支持。如果客户端浏览器不支持 HTML 5 标准,将使用 TCP 协议。 WebSocket(如果服务器和浏览器支持 Websocket)。WebSocket 是建立真正的全双工通信协议,双向连接,是客户端和服务器之间的唯一的持久连接。然而,WebSocket 也有最严格的要求 ;它仅完全支持较高版本的Internet Explorer Google Chrome、 火狐浏等览器,并只在其他浏览器 Safari 已经部分实现。
服务器发送事件,也称为 EventSource (如果浏览器支持服务器发送事件, Internet Explorer 除外)。
SignalR (一)的更多相关文章
- SignalR系列续集[系列8:SignalR的性能监测与服务器的负载测试]
目录 SignalR系列目录 前言 也是好久没写博客了,近期确实很忙,嗯..几个项目..头要炸..今天忙里偷闲.继续我们的小系列.. 先谢谢大家的支持.. 我们来聊聊SignalR的性能监测与服务器的 ...
- ABP文档 - SignalR 集成
文档目录 本节内容: 简介 安装 服务端 客户端 连接确立 内置功能 通知 在线客户端 帕斯卡 vs 骆峰式 你的SignalR代码 简介 使用Abp.Web.SignalR nuget包,使基于应用 ...
- SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)
SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...
- SignalR代理对象异常:Uncaught TypeError: Cannot read property 'client' of undefined 推出的结论
异常汇总:http://www.cnblogs.com/dunitian/p/4523006.html#signalR 后台创建了一个DntHub的集线器 前台在调用的时候出现了问题(经检查是代理对象 ...
- 基于SignalR实现B/S系统对windows服务运行状态的监测
通常来讲一个BS项目肯定不止单独的一个BS应用,可能涉及到很多后台服务来支持BS的运行,特别是针对耗时较长的某些任务来说,Windows服务肯定是必不可少的,我们还需要利用B/S与windows服务进 ...
- SignalR SelfHost实时消息,集成到web中,实现服务器消息推送
先前用过两次SignalR,但是中途有段时间没弄了,今天重新弄,发现已经忘得差不多了,做个笔记! 首先创建一个控制台项目Nuget添加引用联机搜索:Microsoft.AspNet.SignalR.S ...
- SignalR系列目录
[置顶]用SignalR 2.0开发客服系统[系列1:实现群发通讯] [置顶]用SignalR 2.0开发客服系统[系列2:实现聊天室] [置顶]用SignalR 2.0开发客服系统[系列3:实现点对 ...
- 基于SignalR的消息推送与二维码描登录实现
1 概要说明 使用微信扫描登录相信大家都不会陌生吧,二维码与手机结合产生了不同应用场景,基于二维码的应用更是比较广泛.为了满足ios.android客户端与web短信平台的结合,特开发了基于Singl ...
- XAMARIN.ANDROID SIGNALR 实时消息接收发送示例
SignalR 是一个开发实时 Web 应用的 .NET 类库,使用 SignalR 可以很容易的构建基于 ASP.NET 的实时 Web 应用.SignalR 支持多种服务器和客户端,可以 Host ...
- ABP源码分析三十二:ABP.SignalR
Realtime Realtime是ABP底层模块提供的功能,用于管理在线用户.它是使用SignalR实现给在线用户发送通知的功能的前提 IOnlineClient/OnlineClient: 封装在 ...
随机推荐
- 【linux】使用swap文件恢复非正常关闭的文件
前言 使用vim的时候,文件编辑过程中可能会出现bug,导致非正常关闭.为了保存刚刚修改的内容,需要对文件进行恢复. 操作过程 1.查看目录文件 zrj@zrj-ThinkPad-E470:~/wor ...
- 转:如何解决VC "应用程序无法启动,因为应用程序的并行配置不正确 sxstrace.exe"问题
如何解决VC "应用程序无法启动,因为应用程序的并行配置不正确 sxstrace.exe"问题 引用链接 http://blog.csdn.net/pizi0475/artic ...
- iOS7,iOS8和iOS9的区别
iOS7,iOS8和iOS9的区别:iOS7.0 1.iOS 7是iOS面世以来在用户界面上做出改变最大的一个操作系统.iOS 7抛弃了以往的拟物化设计,而采用了扁平化设计. 苹果在重新思考 iOS ...
- Linux系统nat模式联网——VM是12 系统是cantos7
>点击还原默认设置,然后确定 >选择Vmnet8,VMnet信息自动选中NAT模式 记住子网IP和子网掩码 >点击NAT设置,记住网关IP >点击DHCP.记住IP范围 > ...
- BZOJ3672: [Noi2014]购票【CDQ分治】【点分治】【斜率优化DP】
Description 今年夏天,NOI在SZ市迎来了她30周岁的生日.来自全国 n 个城市的OIer们都会从各地出发,到SZ市参加这次盛会. 全国的城市构成了一棵以SZ市为根的有根树,每个城市与它的 ...
- python3反射
class Cmd:# def __init__(self,name):# self.name = name def run(self): while 1: cmd = input('>> ...
- ASP.NET vNext:微软下一代云环境Web开发框架
作者 郭蕾 发布于 2014年5月16日 在5月12日的TechED大会上,微软首次向外界介绍了下一代ASP.NET框架——ASP.NET vNext.ASP.NET vNext专门针对云环境和服 ...
- 六、物理数据模型(PDM逆向工程)
物理数据模型PDM 物理数据模型(Physical Data Model,PDM):在数据库的逻辑结构设计好之后,就需要完成其物理设计,PDM就是为实现这一目的而设计的. 物理数据模型是以常用的D ...
- Linux下的Nginx、php、mysql、apache部署
待补充,先搞几个博客链接: https://www.cnblogs.com/Candies/p/8282934.html http://sujianjob.com/2017/12/18/yum%E5% ...
- SocketIOCP
项目地址 : https://github.com/kelin-xycs/SocketIOCP SocketIOCP 一个 用 C# Socket 实现 的 IOCP 这是一个 用 C# Socke ...