Exemple #1
0
 public override void OnReceived(CT2SubscribeInterface lpSub, int subscribeIndex, void *lpData, int nLength, tagSubscribeRecvData lpRecvData)
 {
     //Debug.Print("/*********************************收到主推数据 begin***************************/");
     //string strInfo = string.Format("附加数据长度:       {0}", lpRecvData.iAppDataLen);
     //Debug.Print(strInfo);
     //if (lpRecvData.iAppDataLen > 0)
     //{
     //    unsafe
     //    {
     //        strInfo = string.Format("附加数据:           {0}", Marshal.PtrToStringAuto(new IntPtr(lpRecvData.lpAppData)));
     //        Debug.Print(strInfo);
     //    }
     //}
     //Debug.Print("过滤字段部分:\n");
     //if (lpRecvData.iFilterDataLen > 0)
     //{
     //    CT2UnPacker lpUnpack = new CT2UnPacker(lpRecvData.lpFilterData, (uint)lpRecvData.iFilterDataLen);
     //    //ufxengine.ShowUnPacker(lpUnpack);
     //    lpUnpack.Dispose();
     //}
     //CT2UnPacker lpUnPack1 = new CT2UnPacker((void*)lpData, (uint)nLength);
     //if (lpUnPack1 != null)
     //{
     //    //ufxengine.ShowUnPacker(lpUnPack1);
     //    lpUnPack1.Dispose();
     //}
     //Debug.Print("/*********************************收到主推数据 end ***************************/");
 }
Exemple #2
0
 //回报
 public override void OnReceived(CT2SubscribeInterface lpSub, int subscribeIndex, void *lpData, int nLength, tagSubscribeRecvData lpRecvData)
 {
     try
     {
         Debug.Print("/*********************************收到主推数据 begin***************************/");
         string strInfo = string.Format("附加数据长度:       {0}", lpRecvData.iAppDataLen);
         Debug.Print(strInfo);
         if (lpRecvData.iAppDataLen > 0)
         {
             unsafe
             {
                 strInfo = string.Format("附加数据:           {0}", Marshal.PtrToStringAuto(new IntPtr(lpRecvData.lpAppData)));
                 Debug.Print(strInfo);
             }
         }
         Debug.Print("过滤字段部分:\n");
         if (lpRecvData.iFilterDataLen > 0)
         {
             CT2UnPacker lpUnpack = new CT2UnPacker(lpRecvData.lpFilterData, (uint)lpRecvData.iFilterDataLen);
             //ufxengine.ShowUnPacker(lpUnpack);
             lpUnpack.Dispose();
         }
         CT2UnPacker lpUnPack1 = new CT2UnPacker((void *)lpData, (uint)nLength);
         if (lpUnPack1 != null)
         {
             //ufxengine.ShowUnPacker(lpUnPack1);
             lpUnPack1.Dispose();
         }
         Debug.Print("/*********************************收到主推数据 end ***************************/");
     }
     catch (System.Exception ex)
     {
         throw ex;
     }
 }
        public override void OnReceived(CT2SubscribeInterface lpSub, int subscribeIndex, void* lpData, int nLength, tagSubscribeRecvData lpRecvData)
        {
            //收到主推数据 - 开始
            if (lpRecvData.iAppDataLen > 0)
            {
                unsafe
                {
                    //附加数据
                    string strInfo = string.Format("{0}", Marshal.PtrToStringAuto(new IntPtr(lpRecvData.lpAppData)));
                }
            }

            //过滤字段部分
            if (lpRecvData.iFilterDataLen > 0)
            {
                CT2UnPacker lpUnpacker = new CT2UnPacker(lpRecvData.lpFilterData, (uint)lpRecvData.iFilterDataLen);
                //解包
                //.....
                lpUnpacker.Dispose();
            }

            CT2UnPacker lpUnpacker1 = new CT2UnPacker((void*)lpData, (uint)nLength);
            if(lpUnpacker1 != null)
            {
                //解包
                //....
                lpUnpacker1.Dispose();
            }

            //收到主推数据 - 结束
        }
Exemple #4
0
        public override void OnReceived(CT2SubscribeInterface lpSub, int subscribeIndex, void *lpData, int nLength, tagSubscribeRecvData lpRecvData)
        {
            //收到主推数据 - 开始
            if (lpRecvData.iAppDataLen > 0)
            {
                unsafe
                {
                    //附加数据
                    string strInfo = string.Format("{0}", Marshal.PtrToStringAuto(new IntPtr(lpRecvData.lpAppData)));
                }
            }

            UFXPushMessageType messageType = UFXPushMessageType.None;

            //过滤字段部分
            if (lpRecvData.iFilterDataLen > 0)
            {
                CT2UnPacker lpUnpacker = new CT2UnPacker(lpRecvData.lpFilterData, (uint)lpRecvData.iFilterDataLen);
                //解包
                //.....
                DataParser parser = new DataParser();
                parser.Parse(lpUnpacker);


                Log("====推送=====过滤字段部分=====开始");
                //parser.Output();
                Log(parser);
                Log("====推送=====过滤字段部分=====结束");
                lpUnpacker.Dispose();

                messageType = _filterBLL.GetMessageType(parser);
            }

            if (nLength > 0)
            {
                CT2UnPacker lpUnpacker1 = new CT2UnPacker((void *)lpData, (uint)nLength);
                if (lpUnpacker1 != null)
                {
                    //解包
                    //....
                    DataParser parser = new DataParser();
                    parser.Parse(lpUnpacker1);
                    Log("====推送*****数据部分=====开始");
                    //parser.Output();
                    Log(parser);
                    Log("====推送*****数据部分=====结束");
                    lpUnpacker1.Dispose();

                    IUFXMessageHandlerBase subscriberHandler = _handlerFactory.Create(messageType);
                    if (subscriberHandler != null)
                    {
                        subscriberHandler.Handle(parser);
                    }
                }
            }

            //收到主推数据 - 结束
        }