zoukankan      html  css  js  c++  java
  • 《ASP.NET SignalR系列》第一课 认识SignalR

    从现在开始相关文章请到: http://lko2o.com/moon

    一、概述

      ASP.NET signalr对ASP.NET开发者来说是一个新的程序库,它能让我们更加容易便捷地开发实时通信功能;

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

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

    signalr包括这些API:连接管理(例如,连接和断开连接的事件)、对连接分组、和访问功能授权。

    二、认知随谈

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

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

    SignalR同时支持新类型的网络应用情况:需要高频度从服务端更新的情况(如实时游戏、看看这个ShootR game.)

    SignalR提供了更加便捷简单的API,

    1.这些API可以用来创建服务端和客户端之间的远程调用.

    服务端代码可以调用浏览器上的javascript函数{包括其他的平台};

    当然客户端也有可调用服务端的方法(这个大家好理解)

    2.这些API可以:连接管理(例如,连接和断开连接的事件)、对连接分组、和访问功能授权。

    Invoking methods with SignalR

    这两幅图,描述了客户端和服务端之间的相互调用

    三、进一步了解

      signalr可以自动化处理连接管理,这可以让你在一个时间点广播消息到所有连接的客户端,

    如同聊天室这样的情况。你也可以把消息发送给特定的客户。客户端和服务器之间的连接是持久的,不同于经典的HTTP连接需要重新建立各通信。

    signalr支持“服务器推送”功能,如上图讲到的那样可以对客户端进行RPC调用,不同于大家熟知的应答模式

    signalr是开源的,可以通过 GitHub 获取源码.

    四、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,这个大家自己百度

    接着下一章:《ASP.NET SignalR系列》第二课 SignalR的使用说明

    兄台,为了提升我写作的热情,求支持推荐和关注,祝你玉树临风、气度不凡

  • 相关阅读:
    springSecurity登陆与退出json形式交互
    SQL-Mysql表结构操作
    SQL-Mysql数据类型
    SQL-SQL事物操作
    springboot之Validation参数校验
    springSecurity之java配置篇
    springsecurity入门篇
    springboot集成shiro
    13个不low的JS数组操作
    基于canvas的五子棋
  • 原文地址:https://www.cnblogs.com/humble/p/3850749.html
Copyright © 2011-2022 走看看