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技术文档

posted @ 2017-07-04 17:04  麻将我会  阅读(423)  评论(0编辑  收藏  举报