コード例 #1
0
ファイル: IB订阅.cs プロジェクト: xiaomiwk/K_gps
 private void 增加(List <string> __号码列表, IPEndPoint __地址)
 {
     HB日志.记录("订阅", string.Format("{0} 增加 {1}", __地址, string.Join(",", __号码列表)));
     if (!_客户端订阅缓存.ContainsKey(__地址))
     {
         _客户端订阅缓存[__地址] = __号码列表;
     }
     else
     {
         var __合并 = new List <int>();
         _客户端订阅缓存[__地址].AddRange(__号码列表);
         _客户端订阅缓存[__地址] = _客户端订阅缓存[__地址].Distinct().ToList();
     }
     __号码列表.ForEach(q =>
     {
         if (!_号码状态缓存.ContainsKey(q))
         {
             _号码状态缓存[q] = new M号码状态();
         }
         if (!_号码状态缓存[q].订购者.Contains(__地址))
         {
             _号码状态缓存[q].订购者.Add(__地址);
         }
         if (_号码状态缓存[q].最后位置 != null && _号码状态缓存[q].最后位置.时间.AddMinutes(2) > DateTime.Now)
         {
             _IT服务端.触发事件("订阅", "GPS上报", new Dictionary <string, string> {
                 { "号码", q }, { "GPS", HJSON.序列化(_号码状态缓存[q].最后位置) }
             }, new List <IPEndPoint> {
                 __地址
             });
         }
     });
 }
コード例 #2
0
ファイル: B控制器.cs プロジェクト: xiaomiwk/K_gps
        public void 开启()
        {
            HB日志.记录("系统", "开启");
            B通用命令.开启();
            H容器.取出 <IB插件>().开启();

            _IT服务端.开启();
        }
コード例 #3
0
ファイル: IB订阅.cs プロジェクト: xiaomiwk/K_gps
 private void  除(List <string> __号码列表, IPEndPoint __地址)
 {
     HB日志.记录("订阅", string.Format("{0} 删除 {1}", __地址, string.Join(",", __号码列表)));
     if (_客户端订阅缓存.ContainsKey(__地址))
     {
         __号码列表.ForEach(q => _客户端订阅缓存[__地址].Remove(q));
     }
     __号码列表.ForEach(q =>
     {
         if (_号码状态缓存.ContainsKey(q))
         {
             if (_号码状态缓存[q].订购者.Contains(__地址))
             {
                 _号码状态缓存[q].订购者.Remove(__地址);
             }
         }
     });
 }
コード例 #4
0
ファイル: B控制器.cs プロジェクト: xiaomiwk/K_gps
 public void 关闭()
 {
     HB日志.记录("系统", "关闭");
     H容器.取出 <IB插件>().关闭();
     _IT服务端.关闭();
 }