コード例 #1
0
 void rp_RealSignalUpdated(object sender, RealSignalArgs args)
 {
     foreach (RealSignal Rs in args.ActiveSignals)
     {
         SetRealValueToSinal(Rs.DBHostIdx, Rs.TagID, Rs);
     }
 }
コード例 #2
0
ファイル: RealProvider.cs プロジェクト: dalinhuang/tdcodes
 private void OnRealSignalUpdated(object sender, RealSignalArgs args)
 {
     if (this.RealSignalUpdated != null)
     {
         this.RealSignalUpdated(this, args);
     }
     else
     {
         PageLogger.RecordInfoLog("there are no one listen RealSignalUpdated");
     }
 }
コード例 #3
0
ファイル: RealProvider.cs プロジェクト: dalinhuang/tdcodes
        protected override void onReceived(StateObject so, int len)
        {
            if (len <= 12)//心跳包或没有接收到数据时,直接返回
                return;
            Console.WriteLine("Recieve {0} bytes from server.", len);
            Byte[] resultData = so.buffer.Take<Byte>(len).ToArray<Byte>();

            int ContentLen = BitConverter.ToInt32(resultData, 8);
            Byte[] content = new Byte[ContentLen];
            Array.Copy(resultData, 12, content, 0, ContentLen);
            Guid g = new Guid(string.Join("", Encoding.ASCII.GetChars(content, 0, 38)));
            DateTime time = DateTime.Parse("1900-1-1 00:00:00").AddDays(BitConverter.ToDouble(content, 39) - 2);
            lastUpateTime = BitConverter.ToDouble(content, 39);
            int ContentBeforeCompressLen = BitConverter.ToInt16(content, 39 + 8);
            Byte[] ContentDecompress = new Byte[ContentBeforeCompressLen];
            Byte[] ContentCompress = new Byte[ContentLen - 51];
            Array.Copy(content, 51, ContentCompress, 0, ContentCompress.Length);
            ContentDecompress = ZLibProvider.DecompressBytes(ContentCompress);

            List<RealSignal> signals = new List<RealSignal>();
            for (int i = 0; i < ContentDecompress.Length; i += 94)
            {
                Byte[] aSignal = new Byte[94];
                Array.Copy(ContentDecompress, i, aSignal, 0, 94);

                signals.Add(RealSignal.FromBytes(aSignal));
            }
            
            RealSignalArgs esa = new RealSignalArgs();
            esa.ActiveSignals = signals;
            esa.RealHostID = tCacheHost.Id;
            OnRealSignalUpdated(this, esa);
        }