`
tyny
  • 浏览: 75606 次
  • 性别: Icon_minigender_1
  • 来自: 黄冈
社区版块
存档分类
最新评论

SignalR的简单使用

阅读更多

   在学习Comet技术的时候,发现有SiganlR的类库使用起来不错,而且使用起来也特别方便,没用什么特别复杂的配置和编码。
    SignalR的代码分为服务器端的后台代码和前端的js代码。
对于服务器端,需要建立一个SignalR的文件夹,然后里面添加相应消息处理类,这些类必须继承Hub类,同时需要设置该类的HubName属性(客户引用属性名字动态js代码)

    [HubName("messageHub")]
    public class MessageHub : Hub
    {
        public void Send(string message)
        {
            this.Clients.addMessage(message);
        }
    }
 

    对于客户端,除了引用一些基本的Signal和jquery的辅助js库外,还有一个很重要的引用js,即服务端SignalR文件下面的服务js文件(SignalR会根据上面HubName的属性名字生成一个相应的js文件),这个文件里面相应的对象负责实际的接收和发送数据的工作。

<script src="../../Scripts/jquery.signalR.min.js" type="text/javascript"></script>
<script src="../../Scripts/json2.min.js" type="text/javascript"></script>
<script src="/signalr/hubs" type="text/javascript"></script>
<script type="text/javascript">
    $(function () {
        var messageHub = $.connection.messageHub;
        messageHub.addMessage = function (message) {
            $('#ulLog').append('<li>' + message + "</li>")
        };
        $.connection.hub.start();

        $("#btnOK").click(function () {
            var message = document.getElementById("txtInput").value;
            if (message != "") {
                messageHub.send(message);
            }
        });
    });
</script>
    SignalR屏蔽底层comet连接具体细节,系统只需要关注发送接收数据即可,暂时测试SignalR负载能力,可以深入一下。

用例代码见附件


引用

SignalR Github 

SignalR 

用SignalR创建实时永久长连接异步网络应用程序 

ASP.NET MVC 3 Real Time Collaborative Apps with SignalR 

Asynchronous scalable web applications with real-time persistent long-running connections with SignalR 

分享到:
评论
1 楼 ldlzhy1984 2014-07-16  
对于客户端,除了引用一些基本的Signal和jquery的辅助js库外,还有一个很重要的引用js,即服务端SignalR文件下面的服务js文件(SignalR会根据上面HubName的属性名字生成一个相应的js文件),这个文件里面相应的对象负责实际的接收和发送数据的工作。

这个js文件怎么获取啊

相关推荐

    android使用signalr代理模式和非代理模式

    - `signalR_hub-master.rar`可能是一个简单的SignalR Hub示例,包含服务端代码(如C#),以及如何在服务器上配置和运行SignalR。 - `signalR_POC-master完美.rar`可能是一个Android客户端的Proof of Concept(PoC)...

    Signalr即时通讯.Net MVC Demo 下载

    SignalR当然也提供了非常简单易用的高阶API,使服务器端可以单个或批量调用客户端上的JavaScript函数,并且非常 方便地进行连接管理,例如客户端连接到服务器端,或断开连接,客户端分组,以及客户端授权,使用...

    signalR的使用和JS的图表样式数据同步

    4. **易于使用**:SignalR提供了一套简单的API,使得开发者可以快速实现实时功能。 在JS图表样式数据同步方面,SignalR 可以帮助我们实现实时更新图表的数据。例如,我们可以使用流行的JavaScript图表库,如...

    SignalR使用例子

    4. **Persistent Connections**:对于不使用 Hub 模式的简单推送,SignalR 也提供了 Persistent Connections 接口,但在这个聊天室示例中,我们主要关注 Hub 模式。 5. **Transport机制**:SignalR 自动检测并使用...

    Unity+SignalR实实时通信

    本资源实现了Unity+SignalR实现实时通信,封装简单易懂,支持源码自行扩展修改,希望能为大家提供到帮助

    ASP signalR简单服务器推送功能

    1. **Hub**:这是SignalR的核心概念,它提供了一种简单的方式来发送消息到连接的客户端,并接收来自客户端的消息。Hub是一个服务器端的类,你可以定义方法,这些方法可以被客户端调用,也可以由服务器主动调用以发送...

    SignalR运用简单例子

    4. **客户端连接**:在客户端(如HTML/JavaScript页面或控制台应用)中,使用SignalR的JavaScript库建立连接并调用Hub的方法。 5. **实时通信**:服务器端可以调用Hub的`Clients`或`Group`属性来向特定客户端或组...

    使用C++和Qt框架的SignalR客户端服务器_C++_JavaScript_下载.zip

    2. **SignalR原理**:SignalR的核心是Hub,它提供了一种简单的方式来发送消息到所有连接的客户端或者特定的客户端。通过HTTP长轮询、WebSocket、Server-Sent Events(SSE)等多种实时通信技术,SignalR自动选择最佳...

    使用signalr实现通讯

    在本文中,我们将深入探讨如何使用 SignalR 实现通讯功能,包括简易聊天和发送图片。 首先,让我们了解 SignalR 的核心概念: 1. **Hub**:SignalR 的主要组件,它充当服务器和客户端之间的桥梁。通过 Hub 类,你...

    signalR实现简易聊天

    在本文中,我们将深入探讨如何使用SignalR构建一个简单的聊天应用。 首先,我们需要理解SignalR的核心概念。SignalR提供了Hub类,它是服务器和客户端之间的桥梁,用于发送和接收消息。我们可以通过定义Hub类的方法...

    .net6使用SignalR实现实时通信

    SignalR是一个库,它提供了一种简单的方式来添加实时Web功能到你的应用程序。实时Web功能意味着服务器可以主动向客户端推送数据,而不仅仅是响应客户端的请求。SignalR支持多种传输方式,包括WebSocket、Server-Sent...

    使用SignalR实时推送数据库变化

    SignalR 是一个 ASP.NET 库,它使得在 Web 应用程序中实现实时通信变得简单。这个技术允许服务器向客户端(通常是浏览器)推送数据,而不仅仅是响应客户端的请求。在传统的 HTTP 协议中,服务器只能在客户端发起请求...

    signalR跨域及解决方案

    SignalR 是一个 ASP.NET 库,它为实时 Web 功能提供了简单、强大的API,使得开发者可以轻松地在服务器和客户端之间进行双向通信。在Web应用中,"跨域"问题是一个常见的挑战,尤其是在使用 SignalR 的时候。跨域是指...

    signalr实现登录互斥

    SignalR实现登录互斥 SignalR是一种实时通信库,允许开发者轻松地在Web应用程序中实现实时通信功能。...使用SignalR实现登录互斥功能可以提供实时的、简单的、可扩展的解决方案,能够满足项目的需求。

    SignalR实时在线聊天室(支持发送图片)

    1. **SignalR 基础**:SignalR 提供了一组简单的 API 来建立长连接,使得服务器能够向客户端推送数据。它处理了与多种浏览器和服务器环境的兼容性问题,包括WebSocket、Server-Sent Events、Forever Frame 和 Long ...

    .net Signalr(2.4.1) Dapper示例

    .NET SignalR(2.4.1) 和 Dapper 是两种在.NET开发中广泛使用的库,它们各自具有独特的优势,并在实际项目中结合使用可以提高应用的性能和用户体验。SignalR 主要负责实现实时通信,而 Dapper 则是轻量级的数据库访问...

    Signalr即时通讯Demo

    SignalR当然也提供了非常简单易用的高阶API,使服务器端可以单个或批量调用客户端上的JavaScript函数,并且非常 方便地进行连接管理,例如客户端连接到服务器端,或断开连接,客户端分组,以及客户端授权,使用...

    Xamarin Signalr入门例子

    下面是一个简单的Xamarin Android应用使用SignalR的示例: ```csharp using Microsoft.AspNet.SignalR.Client; public class MainActivity : AppCompatActivity { private HubConnection connection; private ...

    一个更加完善的SignalR服务端,本人已经在实际项目中使用,聊天室接口已经全部定义,只需要实际的实现,同时集成了Quartz

    SignalR 是一个 ASP.NET 库,它为实时 Web 功能提供了简单、强大的API。这个库使得服务器能够向客户端推送内容,而无需轮询或者长轮询等传统手段,极大地优化了实时通信的效率。在标题和描述中提到的,是一个经过...

Global site tag (gtag.js) - Google Analytics