SignalR 自寄宿
Posted LittleFeiHu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 自寄宿的主要内容,如果未能解决你的问题,请参考以下文章