zoukankan      html  css  js  c++  java
  • SignalR了解

    一、概述

    一、理解SignalR

    ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程。

    实时 Web 功能是指这样一种功能:当所连接的客户端变得可用时服务器代码可以立即向其推送内容,

    而不是让服务器等待客户端请求新的数据。

    ASP .NET SignalR 是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信(即:客户端(Web页面)和服务器端可以互相实时的通知消息及调用方法),

    SignalR有三种传输模式:

    LongLooping(长轮询)、

    WebSocket(HTML5的WEB套接字)、

    Forever Frame(隐藏框架的长请求连接),可以在WEB客户端显式指定一种或几种,也可以采取默认(推荐),若采取默认,SignalR会根据浏览器的环境自动选择合适的传输方式。

    SignalR允许客户端和服务器之间双向通信。服务器可以将内容推送到已连接的客户端。

    SignalR支持Web Sockets,遇到其他兼容旧的浏览器signalr会用其他技术支持"双向通信"(不要较真)。

    二、认知随谈

    signalr可以用来添加任何形式的“实时通信”功能到您的ASP.NET应用程序。聊天是经常被用来作为一个应用例子,当然你可以做更多的事情。

    用户常常通过刷新网页来查看新数据,或者页面支持长轮询来检索新的数据,使用signalr机制中支持这个方式,但它更智能更强大友好。

    三、SignalR和WebSocket的关系

    signalr会自动地使用websocket通信(只要条件允许),条件不满足的时候也会自动使用其他旧的传输方式。当然你可以直接让你的程序直接使用WebSocket.

    使用signalr意味着原先你需要自己花精力做的工作不需要再自己做了,因为它已经为你做了。最重要的是,它会持续更新跟进WebSocket技术,所以你不用担心

    协议变化这类事情.

      signalr是对客户端和服务器之间通信方式的一个抽象。一个signalr启动时使用HTTP连接,然后当环境允许就会直接提升到WebSocket连接。
    WebSocket是SignalR的理想通信方式,因为WebSocket使服务器的内存得到最有效的利用,同时WebSocket具有最低的延迟,并拥有最底层特征(如客户端和服务器之间的全双工通信),

    但WebSocket也有最严格的要求:WebSocket需要服务器使用Windows Server 2012或Windows 8,和.NET框架4.5。

    如果不能满足这些要求,signalr将尝试使用其他通讯方式进行连接。

    四、内置技术的使用步骤

    下面的列表展示了SignalR决定使用具体哪种通信方式

    1. 如果浏览器<=Internet Explorer 8,用长轮询的方式
    2. 如果配置中指定了使用jsonp,则会使用长轮询的方式
    3. 如何需要创建跨域连接,将会如使用WebSocket,如果一下条件满足的话(否则用长轮询)
      1. 客户端支持WebSocket
      2. 服务端支持WebSocket
      3. 客户端支持Cross-Origin Resource Sharing,这个大家自己百度
  • 相关阅读:
    js小数点失精算法修正
    ActiveX控件之ActiveXObject is not defined
    js通过日期计算属于星期几
    标准日期格式化
    js阿拉伯数字转中文大写
    RPC 原理的前生今世
    大型网站架构系列:20本技术书籍推荐
    Zookeeper核心机制
    建造者模式
    模板方法模式
  • 原文地址:https://www.cnblogs.com/sdya/p/11211774.html
Copyright © 2011-2022 走看看