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()); }
/// <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()); } } }
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)); } } }