Beispiel #1
0
        private void ProChatFeePush()
        {
            ChatFeePush chatFeePush = new ChatFeePush(_buffer);

            OnRaiseMsgRecvEvent(chatFeePush.Header.Command_Id, chatFeePush, "接收消息:" + chatFeePush.ToString());
            ChatFeePushResp chatFeePushResp = new ChatFeePushResp(chatFeePush.Header.Sequence_Id);

            SendData(chatFeePushResp.ToBytes());
            OnRaiseMsgSendEvent(chatFeePushResp.Header.Command_Id, chatFeePushResp, "发送消息:" + chatFeePushResp.ToString());
        }
Beispiel #2
0
 /// <summary>
 /// 给接收者推送
 /// </summary>
 /// <param name="nodeId"></param>
 /// <param name="pushPDian"></param>
 private void PushReceive(PushPDian pushPDian)
 {
     if (pushPDian != null)
     {
         CommuTcpClient receiveClient = CommuClient.Values.FirstOrDefault(c => c.Nodeid == pushPDian.NodeId);
         if (receiveClient != null)
         {
             //给接收用户推送P点余额
             ChatFeePush chatFeePush = new ChatFeePush();
             chatFeePush.Body.PDianPush    = pushPDian.PDianPush;
             chatFeePush.Body.PDianBalance = pushPDian.PDianBalance;
             receiveClient.SendData(chatFeePush.ToBytes());
         }
     }
 }
Beispiel #3
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));
                }
            }
        }