博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SingalR自托管(self-host)实例2-实现Wpf客户端和Web客户端矩形同步
阅读量:4287 次
发布时间:2019-05-27

本文共 1350 字,大约阅读时间需要 4 分钟。

SingalR自托管(self-host)实例2-实现Wpf客户端和Web客户端矩形同步

源代码下载:

集线器代码及说明:

    IHub接口中定义的集线器的可用的属性和事件

    IHubCallerConnectionContext<dynamic> Clients { get; set; } //所有的客户端连接
    HubCallerContext Context { get; set; }    //当前集线器上线文
    IGroupManager Groups { get; set; }        //当前集线器连接分组
    Task OnConnected();   //当链接建立时触发
    Task OnDisconnected(bool stopCalled); //当链接关闭或断开时触发
    Task OnReconnected();   //当链接重新建立时触发

public class NumberHub : Hub{    ///     /// 当前矩形位置发生改变时,通知其他客户端修改位置    ///     ///     ///     public void Abroast(double left, double top)    {        Console.WriteLine("服务器中转,left:{0},top:{1}",left,top);        //通知其他客户端修改位置        Clients.Others.change(left, top);    }    ///     /// 链接建立成功时触发    ///     /// 
public override Task OnConnected() { string content = string.Format("链接{0},建立成功", Context.ConnectionId); var notify = (Task)Clients.All.wellcome(content); Console.WriteLine(content); return notify.ContinueWith(_ => notify); } /// /// 链接关闭或超时时触发 /// /// 知否执行关闭操作 ///
public override Task OnDisconnected(bool stopCalled) { string content = stopCalled ? "链接关闭操作" : "超时自动关闭"; content = string.Format("链接{0},具体描述:{1}", Context.ConnectionId, content); //通知所有其他客户端 var nodify = (Task)Clients.Others.wellcome(content); return nodify.ContinueWith(_ => nodify); }}

运行结果:

你可能感兴趣的文章
android-各种动画加速器,各种插值器
查看>>
ActiveMQ 推送服务
查看>>
ActiveMQ API 详解
查看>>
ActiveMQ 实现负载均衡+高可用部署方案
查看>>
包管理工具(语言或者系统)
查看>>
几行代码看懂android View的事件传递机制(视图逻辑)
查看>>
android Handler的核心原理,核心代码关键词
查看>>
图片处理的几种算法(毛玻璃效果,高斯模糊效果,旧时光效果,lomo效果,暖意效果)
查看>>
Android打包,如何打包时不包含依赖包(gradle各种依赖方式)
查看>>
RTMP协议
查看>>
HTTP协议详解-简要
查看>>
MQTT协议通俗讲解
查看>>
XMPP协议分析-简要版
查看>>
mqtt实现库对比
查看>>
动态权限申请,android7.08.0权限特征
查看>>
android虚拟键盘判断和高度获取代码
查看>>
android_WebView截图
查看>>
android-加固方案对比
查看>>
android状态栏黑色字体,时间电池深色
查看>>
一段比较坑的求职经历-from android little guy.
查看>>