首页 > 代码库 > SignalR 自寄宿

SignalR 自寄宿

源代码

https://github.com/xlb378917466/Chat.Server

1.使用控制台程序来寄宿SignalR的服务端,这需要借助于Owin中间件,

2.实现一个服务端的ChatHub

 public class ChatHub : Hub    {        public void Send(string name, string message)        {            Clients.All.addMessage(name, message);        }        public override Task OnConnected()        {            Console.WriteLine("Client connected: " + Context.ConnectionId);            return base.OnConnected();        }        public override Task OnDisconnected(bool stopCalled)        {            Console.WriteLine("Client disconnected: " + Context.ConnectionId);            return base.OnDisconnected(stopCalled);        }    }

 3.构建一个Chat.WebClient,,可以通过网页来通信,这个例子支持断开重连的问题解决

这个地方容易碰到的问题就是,

服务端的SignalR与客户端的版本不一致导致连接出错,

另一个就是js中大小写的问题,比如我在server端的HUB是ChatHub,但是js里只能用 $.connection.chatHub,否则报错

 

技术分享

4.构建CS通信客户端,你需要借助于Microsoft.AspNet.SignalR.Client

通过Microsoft.AspNet.SignalR.Client构建一个代理,通过代理来发送消息

技术分享

 

signalr的MSDN技术文档

SignalR 自寄宿