Example #1
0
        void m_WebSocketClient_MessageReceived(object sender, MessageReceivedEventArgs e)
        {
            MessageModel model = new MessageModel(e.Message);

            switch (model.Command)
            {
            case EnumCommand.AuthQuestion:
                m_WebSocketClient.Send(EnumCommand.AuthUser + " " + ConfigurationManager.AppSettings["ClientCode"] + "$aaa");
                break;

            case EnumCommand.AuthAccept:
                //m_Logined = true;
                m_PrivateKey = Careysoft.Basic.Public.DES.Decrypt(model.Body, DateTime.Now.AddDays(-1).ToString("yyyyMMdd"));
                StartHeartBeat();
                break;

            case EnumCommand.MessagePoint:
                string body = model.Body;
                body = Careysoft.Basic.Public.DES.Decrypt(body, m_PrivateKey);
                MessageBodyModel msgModel = Careysoft.Basic.Public.ObjectSerializer.Xml16ToInstances <MessageBodyModel>(body);
                DoMessagePoint(msgModel);
                //发送
                break;
            }
        }
Example #2
0
 private void TimmerCheck()
 {
     while (m_Checked)
     {
         if (!m_AutoServerConnected)
         {
             MessageBodyModel bodyModel = new MessageBodyModel();
             bodyModel.Header.TargetCode  = ConfigurationManager.AppSettings["AutoExecuteClientCode"];
             bodyModel.Header.SourceCode  = ConfigurationManager.AppSettings["ClientCode"];
             bodyModel.Header.MessageType = EnumMessageType.Point;
             bodyModel.Header.TagetType   = EnumClientType.Normal;
             bodyModel.MessageContentType = EnumMessageContentType.Text;
             bodyModel.MessageContent     = Model.EnumServerMessage.QueryState.ToString();
             string sendMessage = Careysoft.Basic.Public.ObjectSerializer.InstancesToXML <MessageBodyModel>(bodyModel);
             sendMessage = Careysoft.Basic.Public.DES.Encrypt(sendMessage, m_PrivateKey);
             MessageModel model2 = new MessageModel(EnumCommand.MessagePoint, sendMessage);
             m_WebSocketClient.Send(model2.ToString());
             m_ConnectingCount--;
             if (m_ConnectingCount == 0)
             {
                 if (this.InvokeRequired)
                 {
                     this.BeginInvoke((MethodInvoker) delegate
                     {
                         lab_connection.Appearance.ForeColor = Color.Tomato;
                         lab_connection.Caption = "自动服务状态:服务停止";
                         m_Checked = false;
                     });
                 }
             }
         }
         Thread.Sleep(2000);
     }
 }
Example #3
0
 public void SendGroupMessage(MessageBodyModel msgModel)
 {
     if (m_WebSocketClient != null && m_WebSocketClient.State == WebSocketState.Open)
     {
         string sendMessage = "";
         msgModel.Header.SourceCode = ConfigurationManager.AppSettings["ClientCode"];
         sendMessage = Careysoft.Basic.Public.ObjectSerializer.InstancesToXML <MessageBodyModel>(msgModel);
         sendMessage = Careysoft.Basic.Public.DES.Encrypt(sendMessage, m_PrivateKey);
         MessageModel model = new MessageModel(EnumCommand.MessageGroup, sendMessage);
         m_WebSocketClient.Send(model.ToString());
     }
 }
Example #4
0
        private void DoMessagePoint(MessageBodyModel msgModel)
        {
            Model.EnumServerMessage messageContent = (Model.EnumServerMessage)Enum.Parse(typeof(Model.EnumServerMessage), msgModel.MessageContent);
            m_AutoServerConnected = true;
            switch (messageContent)
            {
            case Model.EnumServerMessage.StateWorked:
            {
                if (this.InvokeRequired)
                {
                    this.BeginInvoke((MethodInvoker) delegate
                        {
                            lab_connection.Appearance.ForeColor = Color.LightGreen;
                            lab_connection.Caption = "自动服务状态:正常运行";
                            m_Checked = false;
                        });
                }
            }
            break;

            case Model.EnumServerMessage.StateNoWork:
            {
                if (this.InvokeRequired)
                {
                    this.BeginInvoke((MethodInvoker) delegate
                        {
                            lab_connection.Appearance.ForeColor = Color.Coral;
                            lab_connection.Caption = "自动服务状态:服务停止";
                            m_Checked = false;
                        });
                }
            }
            break;

            case Model.EnumServerMessage.StateShutdown:
            {
                if (this.InvokeRequired)
                {
                    this.BeginInvoke((MethodInvoker) delegate
                        {
                            lab_connection.Appearance.ForeColor = Color.Coral;
                            lab_connection.Caption = "自动服务状态:服务停止";
                            m_Checked = false;
                        });
                }
            }
            break;
            }
        }
Example #5
0
 private void DoMessagePoint(MessageBodyModel msgModel)
 {
     //string sendMessage = "";
     //Model.EnumServerMessage messageContent = (Model.EnumServerMessage)Enum.Parse(typeof(Model.EnumServerMessage), msgModel.MessageContent);
     //switch (messageContent) {
     //    case Model.EnumServerMessage.Hello:
     //        string codeTemp = msgModel.Header.TargetCode;
     //        msgModel.Header.TargetCode = msgModel.Header.SourceCode;
     //        msgModel.Header.SourceCode = codeTemp;
     //        sendMessage = Careysoft.Basic.Public.ObjectSerializer.InstancesToXML<MessageBodyModel>(msgModel);
     //        sendMessage = Careysoft.Basic.Public.DES.Encrypt(sendMessage, m_PrivateKey);
     //        break;
     //}
     //MessageModel model = new MessageModel(EnumCommand.MessagePoint, sendMessage);
     //m_WebSocketClient.Send(model.ToString());
     EventRecieveMessage(msgModel, null);
 }