signalr入门双向通讯,简单网页聊天
电脑版发表于:2020/1/14 11:11
下载依赖:install-package Microsoft.AspNet.SignalR -version 2.0.3
服务器启动类:
using Microsoft.Owin; using Owin; [assembly: OwinStartupAttribute(typeof(Microsoft.AspNet.SignalR.StockTicker.Startup), "Configuration")] namespace Microsoft.AspNet.SignalR.StockTicker { public static class Startup { public static void ConfigureSignalR(IAppBuilder app) { app.MapSignalR(); } public static void Configuration(IAppBuilder app) { Microsoft.AspNet.SignalR.StockTicker.Startup.ConfigureSignalR(app); } } }
创建一个hub用于通讯
public class MessageHub:Hub { public void Message(string msg) { Clients.All.receive(msg); } }
前端
引用js的注意要引入signalr/hubs是动态加载的
<script src="~/Scripts/jquery-1.9.1.min.js"></script> <script src="~/Scripts/jquery.signalR-2.0.3.js"></script> <script src="~/signalr/hubs"></script> <script> //关联集线器(关联谁就能和谁进行通信) var chat = $.connection.messageHub; //开启客户端服务 $.connection.hub.start(); //提供一个前台的方法 chat.client.receive = function (msg) { $("#content").append("<li>"+msg+"</li>"); } $(function () { $("#sendbut").click(function () { //客户端主动调用服务器 chat.server.message($("#user").html()+":"+ $("#msg").val()); $("#msg").val(""); }); }) </script> <ul id="content"> </ul> <label id="user"></label> <input type="text" id="msg" /> <input type="button" value="发送" id="sendbut" />
注意jquery的版本,这里signalr用的是2.0.3的jquery版本高了会有问题
其他:
集线器的名字可以在这里看到