コード例 #1
0
        private void button_Click(object sender, RoutedEventArgs e)
        {
            byte[]       bytes = { 0x21, 0x35, 0x22 };
            SubscribeMsg msg   = new SubscribeMsg(bytes, "good");

            updateHlSingalMessageInfo(msg);
        }
コード例 #2
0
ファイル: SignalBPlan.cs プロジェクト: Kevin9567/SCMT
 public void StopTraceByUI(SubscribeMsg msg)
 {
     //前台关闭窗口后,需要清零计数
     InitStaticNo();
     //日志清零,以便下次以新文件开始记录
     logMsg.initFileName();
 }
コード例 #3
0
        // B方案呈现HL信令消息;
        private void updateHlSingalMessageInfo(SubscribeMsg msg)
        {
            //ScriptMessage scriptMessage = JsonHelper.SerializeJsonToObject<ScriptMessage>(msg.Data);
            //EventNew UIMsg = new EventNew();

            //UIMsg.DisplayIndex = scriptMessage.NO;
            //UIMsg.TimeStamp = scriptMessage.time;
            //UIMsg.EventName = scriptMessage.message;
            //UIMsg.MessageDestination = scriptMessage.MessageDestination;
            //UIMsg.MessageSource = scriptMessage.MessageSource;
            //UIMsg.data = scriptMessage.data;

            //if (-1 != scriptMessage.UI.IndexOf("UE"))
            //{
            //    MessageList.m_MsgList.Add(UIMsg);
            //}
            //if (-1 != scriptMessage.UI.IndexOf("eNB"))
            //{
            //    MessageList.m_eNB_MsgList.Add(UIMsg);
            //}
            //if (-1 != scriptMessage.UI.IndexOf("gNB"))
            //{
            //    MessageList.m_gNB_MsgList.Add(UIMsg);
            //}
            //return;
        }
コード例 #4
0
ファイル: BitMaxProClient.cs プロジェクト: w1r2p1/OsEngine-1
        /// <summary>
        /// subscribe this security to get depths and trades
        /// подписать данную бумагу на получение стаканов и трейдов
        /// </summary>
        public void SubscribeTradesAndDepths(string security)
        {
            var subMsg = SubscribeMsg.Replace("message", $"depth:{security}");

            _wsClient?.Send(subMsg);

            subMsg = SubscribeMsg.Replace("message", $"trades:{security}");
            _wsClient?.Send(subMsg);
        }
コード例 #5
0
ファイル: LinkMgrActor.cs プロジェクト: Kevin9567/SCMT
        private void OnSendTraceSwtich(SubscribeMsg msg)
        {
            string ip = "172.27.245.92";                //TODO

            if (!HasLinkWithSameIp(ip))                 //没有对应的连接,返回。需要加入提示
            {
                return;
            }

            _mapNetElementLinks[ip].SendTraceSwitch(msg.Data);
        }
コード例 #6
0
        private void updateHlSingalMessageInfo(SubscribeMsg msg)
        {
            EventNew UIMsg = new EventNew();

            UIMsg.RawData = msg.Data;
            int maxNumber = 0;

            //按照界面区分自然编号
            maxNumber          = hlMessageUE.Count;
            UIMsg.DisplayIndex = maxNumber;
            this.dataGrid.Dispatcher.Invoke(new Action(() => {
                hlMessageUE.Add(UIMsg);
            }));
            return;
        }
コード例 #7
0
 /// <summary>
 /// 解析关注公共号消息
 /// </summary>
 /// <param name="rootElement"></param>
 /// <returns></returns>
 private static SubscribeMsg getSubscribeMsgFromXML(XmlElement rootElement)
 {
     if (rootElement == null)
     {
         return(null);
     }
     try
     {
         SubscribeMsg submsg = new SubscribeMsg();
         submsg.CreateTime   = rootElement.SelectSingleNode("CreateTime").InnerText;
         submsg.Event        = rootElement.SelectSingleNode("Event").InnerText;
         submsg.EventKey     = rootElement.SelectSingleNode("EventKey").InnerText;
         submsg.FromUserName = rootElement.SelectSingleNode("FromUserName").InnerText;
         submsg.MsgType      = rootElement.SelectSingleNode("MsgType").InnerText;
         //submsg.Ticket = rootElement.SelectSingleNode("Ticket").InnerText;
         submsg.ToUserName = rootElement.SelectSingleNode("ToUserName").InnerText;
         return(submsg);
     } catch (Exception ex) { }
     return(null);
 }
コード例 #8
0
ファイル: MesasgeRecv.xaml.cs プロジェクト: Kevin9567/SCMT
        /// <summary>
        /// 回调函数,或者叫做委托函数,在初始化中注册,接收消息并显示到界面上
        /// </summary>
        /// <param name="msg"></param>
        private void StartTraceByUI(SubscribeMsg msg)
        {
            ScriptMessage scriptMessage = JsonHelper.SerializeJsonToObject <ScriptMessage>(msg.Data);

            if (-1 != scriptMessage.UI.IndexOf("UE"))
            {
                this.lvUE.Dispatcher.Invoke(new Action(() => {
                    UE_List.Add(scriptMessage);
                }));
            }
            if (-1 != scriptMessage.UI.IndexOf("eNB"))
            {
                this.lveNB.Dispatcher.Invoke(new Action(() => {
                    ENB_List.Add(scriptMessage);
                }));
            }
            if (-1 != scriptMessage.UI.IndexOf("gNB"))
            {
                this.lvgNB.Dispatcher.Invoke(new Action(() => {
                    GNB_List.Add(scriptMessage);
                }));
            }
        }
コード例 #9
0
ファイル: SessionService.cs プロジェクト: Kevin9567/SCMT
        //断开连接
        public void OnBreakSession(SubscribeMsg msg)
        {
            string       procotol = GetProcotolTypeFromTopic(msg.Topic);
            ProcotolType pt       = GetProcotolType(procotol);

            if (ProcotolType.Invalid == pt)
            {
                // unsupported procotol
                return;
            }

            var data = JsonHelper.SerializeJsonToObject <SessionData>(msg.Data);
            var key  = $"{procotol}://{data.target.raddr}:{data.target.rport}";

            if (!_Sessions.ContainsKey(key))
            {
                return;
            }

            _Sessions[key].SendAsync(data.data);                        //发送数据
            _Sessions[key].Stop();                                      //释放数据
            _Sessions.Remove(key);
        }
コード例 #10
0
ファイル: SessionService.cs プロジェクト: Kevin9567/SCMT
        //创建链接
        public void OnMakeSession(SubscribeMsg msg)
        {
            string       procotol = GetProcotolTypeFromTopic(msg.Topic);
            ProcotolType pt       = GetProcotolType(procotol);

            if (ProcotolType.Invalid == pt)
            {
                // unsupported procotol
                return;
            }

            var sessionData = JsonHelper.SerializeJsonToObject <SessionData>(msg.Data);
            var key         = $"{procotol}://{sessionData.target.raddr}:{sessionData.target.rport}";

            if (_Sessions.ContainsKey(key))
            {
                _Sessions[key].SendAsync(sessionData.data);                     //如果连接已经建立了,就只发送数据
                return;
            }

            IASession session = null;

            if (ProcotolType.UDP == pt)
            {
                session = new UdpSession(sessionData.target);                   //TODO 先只处理udp协议
                session.SendAsync(sessionData.data);
            }
            else if (ProcotolType.IP == pt)
            {
                session = new IpSession(sessionData.target);
                if (!session.Init(sessionData.target.laddr))
                {
                    return;
                }
            }
            _Sessions.Add(key, session);
        }
コード例 #11
0
ファイル: LinkMgrActor.cs プロジェクト: Kevin9567/SCMT
        private void OnLinkMsgFromBoard(SubscribeMsg msg)
        {
            byte[]       msgBytes = msg.Data;
            GtsMsgHeader header   = GetHeaderFromBytes.GetHeader(msgBytes);
            string       ip       = GetIpFromTopic(msg.Topic);

            switch (header.u16Opcode)
            {
            case GtsMsgType.O_GTSAGTSM_LOGON_RSP:
                DealConnectRsp(ip);
                break;

            case GtsMsgType.O_GTSAGTSM_TRACE_CTRL_RSP:                      //发送开关的响应
                DealSendTraceSwitchRsp(ip, msg.Data);
                break;

            case GtsMsgType.O_GTSAGTSM_FDL_RSP:
                break;

            case GtsMsgType.O_GTSAGTSM_FDL_COMPLETE_IND:
                break;

            case GtsMsgType.O_GTSAGTSM_FILTER_RULE_RSP:
                break;

            case GtsMsgType.O_GTSAGTSM_FILTER_RESET_RSP:
                break;

            case GtsMsgType.O_GTSAGTSM_TRACE_MSG:                       //抄送的消息
                DealTraceMsg(msg.Data);
                break;

            default:
                break;
            }
        }
コード例 #12
0
ファイル: SignalBPlan.cs プロジェクト: Kevin9567/SCMT
 public void StartTraceByUI(SubscribeMsg msg)
 {
     ParseScript();
 }
コード例 #13
0
ファイル: LinkMgrActor.cs プロジェクト: Kevin9567/SCMT
 /// <summary>
 /// 连接管理一级订阅处理函数
 /// </summary>
 /// <param name="msg">所需的数据消息</param>
 private void OnLinkMgr(SubscribeMsg msg)
 {
     //多层topic解析,当前版本为了简单,先使用直接调用的方式进行处理
 }
コード例 #14
0
ファイル: GtsMsgParseService.cs プロジェクト: Kevin9567/SCMT
 private void OnGtsaMsgParse(SubscribeMsg msg)
 {
     _worker.ParseUdpData(msg.Data);
 }
コード例 #15
0
ファイル: GtsMsgParseService.cs プロジェクト: Kevin9567/SCMT
 private void OnIpFrameMsgParse(SubscribeMsg msg)
 {
     //TODO 使用推拉模式解析数据,但可能有顺序性的要求,先使用worker进行解析
     _worker.ParseIpFrameData(msg.Data);
 }
コード例 #16
0
 private void OnSubscribe(SubscribeMsg msg)
 {
     SendAsync(msg.Data);
 }