예제 #1
0
 /// <summary>
 /// 发布"消息发送"事件
 /// </summary>
 /// <param name="commandType"></param>
 /// <param name="package"></param>
 /// <param name="msg"></param>
 private void OnRaiseMsgSendEvent(PXin_COMMAND_TYPE commandType, object package, string msg)
 {
     MsgSendEventHandler?.Invoke(this, new EventMessage(commandType, package, msg));
 }
예제 #2
0
        private void OnRaiseMsgSendEvent(byte[] buffer)
        {
            if (MsgSendEventHandler != null)
            {
                string        msg    = string.Empty;
                MessageHeader header = new MessageHeader(buffer);
                switch (header.Command_Id)
                {
                case PXin_COMMAND_TYPE.Login:
                    msg = new Login(buffer).ToString();
                    break;

                case PXin_COMMAND_TYPE.LoginResp:
                    msg = new LoginResp(buffer).ToString();
                    break;

                case PXin_COMMAND_TYPE.Logout:
                    msg = new Wt_Logout(buffer).ToString();
                    break;

                case PXin_COMMAND_TYPE.LogoutResp:
                    msg = new LogoutResp(buffer).ToString();
                    break;

                case PXin_COMMAND_TYPE.Active:
                    msg = new Active(buffer).ToString();
                    break;

                case PXin_COMMAND_TYPE.ActiveResp:
                    msg = new ActiveResp(buffer).ToString();
                    break;

                case PXin_COMMAND_TYPE.ChatFee:
                    msg = new ChatFee(buffer).ToString();
                    break;

                case PXin_COMMAND_TYPE.ChatFeeResp:
                    msg = new ChatFeeResp(buffer).ToString();
                    break;

                case PXin_COMMAND_TYPE.ChatFeePush:
                    msg = new ChatFeePush(buffer).ToString();
                    break;

                case PXin_COMMAND_TYPE.ChatFeeRateSet:
                    msg = new ChatFeeRateSet(buffer).ToString();
                    break;

                case PXin_COMMAND_TYPE.ChatFeeRateSetResp:
                    msg = new ChatFeeRateSetResp(buffer).ToString();
                    break;

                case PXin_COMMAND_TYPE.ChatFeeRateQuery:
                    msg = new ChatFeeRateQuery(buffer).ToString();
                    break;

                case PXin_COMMAND_TYPE.ChatFeeRateQueryResp:
                    msg = new ChatFeeRateQueryResp(buffer).ToString();
                    break;

                default:
                    break;
                }
                //发布"消息发送"事件
                if (header.Command_Id != PXin_COMMAND_TYPE.Active && header.Command_Id != PXin_COMMAND_TYPE.ActiveResp)
                {
                    MsgSendEventHandler?.Invoke(this, new MessageEventArgs(string.Empty, Identity, msg));
                }
            }
        }