一,首先,在MVC项目中安装SingalR包,通过nuget安装
二,在Global文件添加 RouteTable.Routes.MapHubs();
三,前端页面引用
下面展示一些 内联代码片
。
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<script src="~/Scripts/jquery-1.12.1.min.js"></script>
<script src="~/Scripts/jquery.signalR-1.2.2.min.js"></script>
<script src="~/signalr/hubs"></script>
</head>
<body>
<h3>聊天(聊天室)</h3>
<div>
<input id="con" type="text" name="name" value="" />
<input id="btn" type="button" name="name" value="发送" />
</div>
<div id="msg">
</div>
</body>
<script>
$(function () {
//取得hub集线器
var hub = $.connection['chathub'];
//注册hub中客户端的方法
hub.client.ccc = function (s) {
$('<div>' + s + '</div>').appendTo('#msg');
}
//启动
hub.connection.start();
//调用客户端的方法
$('#btn').click(function () {
hub.server.send($('#con').val());
})
})
</script>
</html>
四,新建一个类
using Microsoft.AspNet.SignalR;
using Microsoft.AspNet.SignalR.Hubs;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace SignalDemo.signalr
{
//名字要对应线程器名
[HubName("chathub")]
public class ChatHub:Hub
{
public void Send(string str)
{
str = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "--" + str;
Clients.All.ccc(str);
}
}
}
五,完成效果
完整demo下载 https://download.csdn.net/download/qq_43640534/12728803