聊天demo SignalR

1首先这个demo是针对 net版本是4.5的  SignalR   获取的是2.2的

2新建一个mvc项目

3  Nuget  搜索 SignalR   安装如图的一项

4新建一个 集线器类

修改新建的 类

     [HubName("demo")]
    public class ChatHub:Hub
    {
        public void Send(string name, string message)
        {
            // Call the addNewMessageToPage method to update clients.
            Clients.All.addNewMessageToPage(name, message);
        }
    }

5 Startup修改

public void Configuration(IAppBuilder app)
        {
            //ConfigureAuth(app);
            app.MapSignalR();
        }

6  在home/index中

<div class="container">
    <input type="text" id="message" />
    <input type="button" tabindex="1" id="sendmessage" value="Send" />
    <input type="hidden" id="displayname" />
    <ul id="discussion"></ul>
</div>

@section scripts {
    <!--Script references. -->
    <!--The jQuery library is required and is referenced by default in _Layout.cshtml. -->
    <!--Reference the SignalR library. -->
    @*<script src="~/Scripts/jquery.signalR-1.0.1.js"></script>*@
    <script src="~/Scripts/jquery-1.10.2.js"></script>
    <script src="~/Scripts/jquery.signalR-2.2.0.js"></script>

    <script src="~/signalr/hubs"></script>
    <!--Reference the autogenerated SignalR hub script. -->
    <!--SignalR script to update the chat page and send messages.-->
    <script>
        $(function () {
            // Reference the auto-generated proxy for the hub.
            var chat = $.connection.demo;
            // Create a function that the hub can call back to display messages.
            chat.client.addNewMessageToPage = function (name, message) {
                // Add the message to the page.
                $(‘#discussion‘).append(‘<li><strong>‘ + htmlEncode(name)
                    + ‘</strong>: ‘ + htmlEncode(message) + ‘</li>‘);
            };
            // Get the user name and store it to prepend to messages.
            $(‘#displayname‘).val(prompt(‘Enter your name:‘, ‘‘));
            // Set initial focus to message input box.
            $(‘#message‘).focus();
            // Start the connection.
            $.connection.hub.start().done(function () {
                $(‘#sendmessage‘).click(function () {
                    // Call the Send method on the hub.
                    chat.server.send($(‘#displayname‘).val(), $(‘#message‘).val());
                    // Clear text box and reset focus for next comment.
                    $(‘#message‘).val(‘‘).focus();
                });
            });
        });
        // This optional function html-encodes messages for display in the page.
        function htmlEncode(value) {
            var encodedValue = $(‘<div />‘).text(value).html();
            return encodedValue;
        }
    </script>
}

这个是官网的demo  就是展示界面 没什么好说的

另外附上 官网 下载zip  所有强大的功能都有!!

ASP.NET SignalR 官网 更强大的demo

该项目demo

下载

时间: 2024-10-13 11:44:06

聊天demo SignalR的相关文章

基于Node.js + socket.io实现WebSocket的聊天DEMO

原文摘自我的前端博客,欢迎大家来访问 http://hacke2.github.io 简介 最近看Node.js和HTML5,练手了一个简易版的聊天DEMO,娱乐一下 为什么需要socket.io? node.js提供了高效的服务端运行环境,但是由于浏览器端对HTML5的支持不一, 为了兼容所有浏览器,提供卓越的实时的用户体验,并且为程序员提供客户端与服务端一致的编程体验, 于是socket.io诞生. 简答来说socket.io具体以下特点: 1.socket.io设计的目标是支持任何的浏览器

网页版WebRTC多人聊天Demo

网页版WebRTC多人聊天Demo 本文基于Codelab中step7,在其基础上作简单修改,使其支持多人视频通讯,本文暂时只支持星状结构三人聊天,多人聊天可以在基础上扩展,原理相同. 一.源码分析 该工程包括三个文件:server.js,main.js,index.html. 1.server.js if (numClients == 0){ socket.join(room); socket.emit('created', room); } else if (numClients == 1)

高并发MINA框架,网络编程(SOCKET)实现,简单的网络聊天DEMO

服务端 和http://blog.csdn.net/simonchi/article/details/40613923   文章类似 Apache MINA是一个网络应用程序框架,用来帮助用户简单地开发高性能和高可扩展性的网络应用程序.它提供了一个通过Java NIO在不同的传输例如TCP/IP和UDP/IP上抽象的事件驱动的异步API 对JAVA的SOCKET做了一层包装 Apache MINA 通常可被称之为: NIO 框架库: 一篇好的关于MINA详解的文章推荐:  http://www.

聊天Demo

简单聊天功能,没有界面 思路:创建两个线程,分别为接收线程和发送线程,由主函数开启 1.发送 a.接收soket b.建立一个数据包,并将键盘录入的数据封装到数据包内 c.调用socket的发送函数,将数据包发送给10000端口 2.接收 a.接收socket b.建立接收数据包及缓冲区 c.调用socke的接收函数,监听1000端口 b.将接收到的ip地址及信息提取出来 代码如下: import java.net.*; import java.io.*; class Send implemen

使用GatewayWorker 开发个即时聊天demo

前言: 上手册以示尊重:https://www.kancloud.cn/walkor/gateway-worker/326138: https://www.cnblogs.com/fuqiang88/p/5956363.html 先介绍下GarewayWorker吧,GarewayWorker是基于Workerman开发的一个框架.讲通俗就是用来长连接的. 那么又为什么要长连接呢? 通常来说客户端与服务端的联系就是请求响应.由客户端发起请求给服务端,然后在服务端接收请求并响应将资源发送给客户端,

SignalR来做实时Web聊天

本章和大家分享的内容是使用Signal R框架创建个简易的群聊功能,主要讲解如何在.Net的MVC中使用这个框架,由于这个项目有官方文档(当然全英文),后面也不打算写分享篇了,主要目的是让朋友们在需要使用Web实时通信的时候有更多一种解决方案,毕竟这是微软主推的一种解决方案之一. SignalR网上简介 ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程.实时 Web 功能是指这样一种功能:当所连接的客户端变得可用

Spring WebSocket简单入门测试Demo(网页及时聊天)

说明 本demo运行的环境是:ssm框架 + tomcat8 + jdk7+,由于只是demo.很简陋.能运行调式通过就行,再在此基础上进行扩展研究. 在网上看了很多列子.对于没有接触过websocket的人来说.真的是看不懂.本文列子应该算是比较简单的. Spring WebSocket API的核心接口是WebSocketHandler.我把它叫做消息处理中心. 其他的详细解说可以参考别人的博客 <servlet-mapping> <servlet-name>springmvc

快速了解SignalR—在MVA微软虚拟学院学习SignalR

©版权声明:本文为博主原创文章,如需转载请注明出处. SignalR把实时Web功能变得异常简单. 如果您希望在几个小时内对SignalR有一个直观的了解,观看微软虚拟学院(MVA)的视频教学Lighting Up Real-Time Web Communications with SignalR或许是个不错的选择. 这是一个大概四个小时的视频教学,分为五个部分.除了视频,还配有PPT和小测验.视频是英文的,配有英文字幕.通过这几个小时的学习,您将对SignalR的功能以及如何使用有一个初步的了

[iOS UI进阶 - 2.1] 彩票Demo v1.1

A.需求 1.优化项目设置 2.自定义导航栏标题按钮 3.多版本处理 4.iOS6和iOS7的适配 5.设置按钮背景 6.设置值UIBarButtonItem样式 B.实现 1.项目配置 (1)程序启动期间隐藏状态栏 (2)程序启动完成显示状态栏 AppDelegate: 1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {