zoukankan      html  css  js  c++  java
  • ASP.NET SignalR 系列(一)之SignalR介绍

    一、SignalR介绍

    ASP.NET SignalR 是一个面向 ASP.NET 开发人员的库,可简化将实时 web 功能添加到应用程序的过程。 实时 web 功能是让服务器代码将内容推送到连接的客户端立即可用,而不是让服务器等待客户端请求新数据的能力。

    废话不多说

    传输模式

    二、SignalR 和 WebSocket的区别

    简单的说呢,websocket对客户端和服务端都有要求,而SignalR对兼容性就比较好,它集成了WebScoket和http两种方式,当条件满足时,自动使用WebScoket,否则使用http。可以简单的理解为,WebScoket是SignalR的子集。

    三、SignalR的两种模式
    永久连接

    长连接(长轮询)

    1、如果浏览器是 Internet Explorer 8 或更早版本,则使用长轮询。

    2、如果配置 JSONP (即jsonp参数设置为true启动连接时),使用长轮询。

    3、如果操作正在进行的跨域连接,(即,如果 SignalR 终结点不在托管的页面所在的域中),然后 WebSocket 将在满足以下条件:

                          1、客户端支持 CORS (跨域资源共享)。

                          2、客户端支持 WebSocket

                          3、服务器支持 WebSocket

                         4、如果不满足任何这些条件,则将使用长轮询。

    4、如果未配置 JSONP 并且连接不跨域,如果客户端和服务器支持它,则将使用 WebSocket。

    5、如果客户端或服务器不支持 WebSocket,如果可用,则使用服务器发送事件。

    6、如果服务器发送事件不可用,请尝试使用永久帧。

    7、如果永久连接失败,则使用长轮询。

    文章介绍参考:https://docs.microsoft.com/zh-cn/aspnet/signalr/overview/getting-started/introduction-to-signalr#signalr-and-websocket

    不在多介绍了,下章开始进入撸代码。

  • 相关阅读:
    把Linq查询返回的var类型的数据 转换为DataTable EF连接查询
    无法更新 EntitySet 因为它有一个 DefiningQuery
    MVC上传文件
    MySql删除表、数据
    LINQ to Entities 不支持 LINQ 表达式节点类型“ArrayIndex”。
    MVC仓储使用join
    MVC仓储执行存储过程报错“未提供该参数”
    Newtonsoft.Json自动升级版本号,导致dll冲突
    MVC中构建Linq条件、排序、Selector字段过滤
    AutoMapper
  • 原文地址:https://www.cnblogs.com/fei686868/p/9560858.html
Copyright © 2011-2022 走看看