说明:本篇文章与上篇文章 的改动。

 

一、本文出处:SignalR 实例介绍 (建议看原著里面有DEMO下载)

二、这篇文章介绍如何利用 VS2012 创建一个简单的实时高频反馈系统,建好后的样子如下:拖动某个窗口的红色框,其余窗口的红色框跟着运动。

 

实现服务器端(.NET)与客户端的高频实时通信 SignalR(2)

 

 

三、Demo 创建

  1、新建项目以及新建完成后的目录结构如上篇文章所示(项目名称为 MoveShape):

  2、安装 SignalR 程序包,该包实现了服务端与客户端的通信。

    与上篇的区别在于,此处需要另外安装 Jquery.UI 的程序包,运行命令:Install-Package jQuery.UI.Combined。

   3、添加类用于接收客户端的信息以及广播收到的信息,该类的名字命名为: MoveHub.cs,该类继承自 Hub 类,并在该类中添加如下代码:

 

         
namespace MoveShape
{
    [HubName("MoveHub")]
    public class MoveHub : Hub
    {
        [HubMethodName("UpdateOtherModel")]
        public void UpdateOtherModel(ServerModel clientModel)
        {
            clientModel.LastUpdatedBy = Context.ConnectionId;
            // 更新在Web端注册的站点 Model(去掉了当前的发送者)
            Clients.AllExcept(clientModel.LastUpdatedBy).updateShape(clientModel);
        }
    }
    public class ServerModel
    {
        //将传输的 Json 属性定义为与客户端一样的名字 left top
        [JsonProperty("left")]
        public double Left1 { get; set; }
        [JsonProperty("top")]
        public double Top2 { get; set; }
        // 拒绝客户端获得 LastUpdatedBy 属性
        [JsonIgnore]
        public string LastUpdatedBy { get; set; }
    }
}
View Code

相关文章:

  • 2022-12-23
  • 2021-06-13
  • 2022-12-23
  • 2021-11-09
  • 2021-11-07
  • 2021-10-13
  • 2021-09-02
  • 2021-10-01
猜你喜欢
  • 2021-08-01
  • 2021-06-29
  • 2022-02-07
  • 2021-06-30
  • 2021-05-15
  • 2021-12-27
  • 2021-11-25
相关资源
相似解决方案