什么是SignalR?关于SignalR介绍
2012-08-15 15:14
246 查看
SignalR在ASP.NET MVC 4.5中出现了,ASP.NET MVC开始支持SignalR。那么什么是SignalR?有什么用途?
SignalR是一个基于ASP.NET平台构建,利用JavaScript或者WebSockets,实现在客户端和服务端异步通信的框架。
由 David Fowler 和Damien Edwards 维护,开源代码的地址在GITHub上:SignalR project on GitHub。
它和AJax类似,都是基于现有的技术。本身是一个复合体。一般情况下,SignalR会使用Javascript的长轮询( long polling),实现客户端和服务端通信。在WebSockets出现以后,SignalR也支持WebSockets通信。当然SignalR也使用了服务端的任务并行处理技术以提高服务器的扩展性。
Most common examples where long polling is used are stock tickers or chat clients. However as we will see today SignalR throws open a whole new set of possibilities, enabling rich collaborative
applications on ASP.NET.
任何一个技术的出现都是为了解决特定的问题。SignalR也不例外。我们知道网站开发中最长见到的一个功能就是在线聊天室。现在的网上的大部分在线聊天室都是基于2种技术,1.AJAX 2.Flash.
聊天室要解决最大的问题就是 消息的推送。当N个在线用户 同时加入一个聊天室时,1个用户发送消息,服务端就要把这个消息转发给特定的人。
之前的技术都是通过Javascript来不停地发送请求来轮训 服务端的新的消息。这种定期发送Ajax请求给服务器的方式,在用户很大的情况下给服务器带来很大的压力。
WebSockets这个技术的出现,很好地解决了这个问题,恰恰支持可以主动推送消息,SignalR 支持WebSockets。我们可以看到未来网络应用中会大量出现自己吃WebSockets的程序,而SignalR应该也会广泛在ASP.NET 网站中出现。得意应用。
1.什么是SignalR?
SignalR是一个基于ASP.NET平台构建,利用JavaScript或者WebSockets,实现在客户端和服务端异步通信的框架。由 David Fowler 和Damien Edwards 维护,开源代码的地址在GITHub上:SignalR project on GitHub。
它和AJax类似,都是基于现有的技术。本身是一个复合体。一般情况下,SignalR会使用Javascript的长轮询( long polling),实现客户端和服务端通信。在WebSockets出现以后,SignalR也支持WebSockets通信。当然SignalR也使用了服务端的任务并行处理技术以提高服务器的扩展性。
2.SignalR用途
Most common examples where long polling is used are stock tickers or chat clients. However as we will see today SignalR throws open a whole new set of possibilities, enabling rich collaborativeapplications on ASP.NET.
任何一个技术的出现都是为了解决特定的问题。SignalR也不例外。我们知道网站开发中最长见到的一个功能就是在线聊天室。现在的网上的大部分在线聊天室都是基于2种技术,1.AJAX 2.Flash.
聊天室要解决最大的问题就是 消息的推送。当N个在线用户 同时加入一个聊天室时,1个用户发送消息,服务端就要把这个消息转发给特定的人。
之前的技术都是通过Javascript来不停地发送请求来轮训 服务端的新的消息。这种定期发送Ajax请求给服务器的方式,在用户很大的情况下给服务器带来很大的压力。
WebSockets这个技术的出现,很好地解决了这个问题,恰恰支持可以主动推送消息,SignalR 支持WebSockets。我们可以看到未来网络应用中会大量出现自己吃WebSockets的程序,而SignalR应该也会广泛在ASP.NET 网站中出现。得意应用。
相关文章推荐
- 关于DNS服务器的介绍具有什么功能
- novas的verdi和debussy是干什么用的(关于debussy的一些介绍)
- 关于什么是DLNA, 什么是DMS的详细介绍
- WDCP是什么 关于WDCP的详细介绍
- 关于什么是DLNA, 什么是DMS的详细介绍
- iOS- 什么是GitHub?关于它的自我介绍「初识 GitHub」
- 关于什么是DLNA, 什么是DMS的详细介绍
- WDCP是什么 关于WDCP的详细介绍
- ENode 2.0 - 介绍一下关于ENode中对Command的调度设计
- 关于数字转为字符串(itoa)和字符串转为数字(atoi)介绍及使用
- [SOA介绍]什么是SOA?
- 关于PHP递归算法和应用方法介绍
- 关于PHP递归算法和应用方法介绍
- DMTF 关于 CIM-XML 的幻灯片介绍
- 关于六种windows media SDK的介绍【译】——2
- 关于Blog和RSS 的全面介绍
- 一篇关于介绍UltraGrid控件的博客
- 关于Table View的介绍
- 关于 notify 消息的 介绍
- 关于log4J的应用及介绍