SignalR网页实时推送

1.新建项目,选择mvc4 Wed应用程序,选择Internet,视图引擎:Razor

2.在控制器中添加

并添加上视图

3.引用(install-package Microsoft.AspNet.SignalR)

4.添加Startup

项目名

5.新建Hubs文件夹,添加ChatHub类

6.Chat的视图

代码:Chat视图

@{

ViewBag.Title = "Chat";

}

SignalR

@section scripts {

@@

<script>
    $(function () {
        // 1.ChatHub.cs类
        var chat = $.connection.chatHub;

// 2.Chat里的[HubName("asd")](1和2一样)

//var chat = $.connection.asd;

// 调用addNewMessageToPage显示信息

chat.client.addNewMessageToPage = function (name, message) {

// 把消息添加到页面

//$(‘#discussion‘).append(‘

  • ‘ + htmlEncode(name)

    // + ‘: ‘ + htmlEncode(message) + ‘

  • ‘);

    $(‘#discussion‘).append(‘

  • ‘ + $(‘

    ‘).text(name).html()

    + ‘: ‘ + $(‘

    ‘).text(message).html() + ‘

  • ‘);

    };

    // 获取昵称

    $(‘#displayname‘).val(prompt(‘昵称:‘, ‘‘));

    // 输入框焦点

    $(‘#message‘).focus();

    // 启动链接

    $.connection.hub.start().done(function () {

    $(‘#sendmessage‘).click(function () {

    // 调用Send方法

    chat.server.send($(‘#displayname‘).val(), $(‘#message‘).val());

    // 清空输入框,并加上焦点

    $(‘#message‘).val(‘‘).focus();

    });

    });

    });

    //

    //function htmlEncode(value) {

    // var encodedValue = $(‘

    ‘).text(value).html();

    // return encodedValue;

    //}

    }

    时间: 2024-10-25 16:50:11

    SignalR网页实时推送的相关文章

    signalR消息实时推送

    1 <!DOCTYPE html> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 5 <title>SignalR Simple Chat</title> 6 <st

    Signalr实现消息推送

    一.前言 大多数系统里面好像都有获取消息的功能,但这些消息来源都不是实时的,比如你开两个浏览器,用两个不同的账号登录,用一个账号给另外一个账号发送消息,然而并不会实时收到消息,必须要自己手动F5刷新一下页面才会显示自己的消息,这样感觉用户体验不太好.之前看了Learning hard关于Signalr的文章,刚好自己项目中有用到获取实时消息的功能,然而我们项目中就是用js代码setinterval方法进行1秒刷新读取数据的,这样严重给服务器端添加负担,影响系统性能!所以自己稍微研究了一下,下面是

    基于HTTP协议之WEB消息实时推送技术原理及实现

    很早就想写一些关于网页消息实时推送技术方面的文章,但是由于最近实在忙,没有时间去写文章.本文主要讲解基于 HTTP1.1 协议的 WEB 推送的技术原理及实现.本人曾经在工作的时候也有做过一些用到网页消息实时推送的项目,但是当时实现的都不是很完美,甚至有时候是通过 Ajax 轮训的方式实现.在网上也找过不少的资料,真正说到点子上的几乎没有,很多文章大都是长篇大论,说了一些新有名字,什么“HTTP 长连接”,“实时推送”,“Comet 长连接推送技术”等.但真正提到如何实现实时推送的文章倒是没有看

    【原创】node+express+socket搭建一个实时推送应用

    技术背景 Web领域的实时推送技术,也被称作Realtime技术.这种技术要达到的目的是让用户不需要刷新浏览器就可以获得实时更新. 应用场景: 监控系统:后台硬件热插拔.LED.温度.电压发生变化 即时通信系统:其它用户登录.发送信息 即时报价系统:后台数据库内容发生变化 技术实现方案:ajax long polling(ajax长轮询),comet(http长连接).socket 这里有篇文章介绍了这几种技术,可以看一下. http://www.ibm.com/developerworks/c

    基于SignalR的消息推送与二维码描登录实现

    1 概要说明 使用微信扫描登录相信大家都不会陌生吧,二维码与手机结合产生了不同应用场景,基于二维码的应用更是比较广泛.为了满足ios.android客户端与web短信平台的结合,特开发了基于SinglarR消息推送机制的扫描登录.本系统涉及到以下知识点:     SignalR:http://signalr.net/ 这官网,ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程.实时 Web 功能是指这样一种功能:当

    用node.js(socket.io)实现数据实时推送

    在做商品拍卖的时候,要求在商品的拍卖页面需要实时的更新当前商品的最高价格.实现的方式有很多,比如: 1.setInterval每隔n秒去异步拉取数据(缺点:更新不够实时) 2. AJAX轮询方式方式推送数据(缺点:服务端需要在死循环中反复查询数据库) 3.websocket推送数据(缺点:仅支持html5标准的浏览器) socket.io的简要介绍 所有客户端都通过socket.io挂在nodejs服务器上(注意: 只是挂着,不需要任何循环,因为它是事件驱动的):需要推送消息了,服务器就与nod

    nodejs+socketio+redis实现前端消息实时推送

    nodejs+socketio+redis实现前端消息实时推送 1. 后端部分 发送redis消息 可以参考此篇实现(直接使用Jedis即可) http://www.cnblogs.com/binyue/p/4763352.html 2.后端部分: 接收redis消息 var redis; if(process.argv.length <= 2){ redis = require('redis').createClient(); }else{ redis = require('redis').c

    nodejs实现百度实时推送

    想要加快百度收录,肯定免不了链接提交吧,当然链接提交的方式有很多种,今天来说一下百度的实时推送.. 第一次看到这post请求确实有点萌逼,我自己是做前端的对后台接触确实不多,见到的前端发送post请求不是这样发送的.后来研究才知道,原来这个post请求是由服务器来发送的.那么nodejs如何发送这个post请求? //需要推送的网站链接 var content = "https://www.meetqy.com/article?article_id=42"; //对应配置post推送的

    使用Nodejs实现实时推送MySQL数据库最新信息到客户端

    下面我们要做的就是把MySQL这边一张表数据的更新实时的推送到客户端,比如MySQL这边表的数据abc变成123了,那使用程序就会把最新的123推送到每一个连接到服务器的客户端.如果服务器的连接的客户端为0,也就是这时候没有客户端连接,那程序也不会执行推送信息的代码以免产生不必要的资源消耗,当有客户端连上的时候又开始推送.demo的代码大家可以到下面的Download按钮去下载. 要运行首先我们要安装nodejs要用到的mysql模块: $ npm install mysql 更多关于mysql