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

    ASP .NET SignalR 是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现即时通信(即:客户端(Web页面)和服务器端可以互相实时的通知消息及调用方法),即时通讯Web服务就是服务器将内容自动推送到已经连接的客户端,而不是服务器等待客户端发起一个新的数据请求。

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

    SignalR能够被运用到各种类型的即时响应应用。你完全可以运用SignalR实现一个在线即时聊天应用。当然SignalR也运用在用户需要随时更新数据的网页运用,比如仪表盘和监控运用,其他协同应用程序(文档协同操作)、工作流更新或者是即时表格。 

    SignalR同样也被运用在一些需要高频繁从服务器更新的应用,比如实时在线游戏。 

    SignalR 提供了使用JavaScript API 方法创建服务器对客户端的远程过程调用协议(RPC)的,它能够让你从客户端浏览器(或者其他平台)从.NET服务端发起远程调用。SignalR 同样提供了管理远程连接和连接组的API方法。

    SignalR 不仅能够自动管理连接,而且能够同时向所有的客户端广播消息,就像聊天室一样。你也能够发送消息到指定的客户端。SignalR提供的连接是持久的,它不像传统的HTTP连接需要为每次收发消息建立单独的连接。 

    SignalR 同时在服务端提供了远程过程调用协议(RPC),让你能够“主动”推送消息到浏览器中的客户端,而不像普通的Web服务一样的应答方式。 

    SignalR 应用能够运用到成千的客户端上,通过使用服务总线、SQL Server或者Redis。 

    SignalR 是开源的,能够通过GitHub很容易得到。

    SignalR 和 WebSocket

    你可以使用SignalR 使用最新的WebSocket 传输,同时也能够让你回退到原有的传输方式。你可以直接使用SignalR 使用 WebSocket,因为SignalR 已经替你封装好许多你需要实现的方法。最重要的是你使用SignalR不用担心为老的客户端实现WebSocket而采用两套不同的逻辑编码方式。使用SignalR 实现WebSocket你不用担心 WebSocket的更新而去修改代码,SignalR会在传输方式上使用WebSocket最新的传输方式,同时提供了一连串的接口能够让你来支持不同版本的客户端。 

    当你想创建一个纯粹的WebSocket解决方案的时候,SignalR 提供了所有的方法,比如回退到其他传输方式或者更新到WebSocket 的实现方法。

  • 相关阅读:
    .NET Core VS Code 环境配置
    系统架构正交分解法
    面向接口可扩展框架之“Mvc扩展框架及DI”
    发送和接收数据包
    Easticsearch通信方式_API
    Web Api集成Swagger
    NET MVC RazorEngine 解析模板生成静态页
    NET单元测试的艺术
    NET平台机器学习组件-Infer.NET
    ActiveMQ相关背景(转)
  • 原文地址:https://www.cnblogs.com/innershare/p/10727873.html
Copyright © 2011-2022 走看看