Пример #1
0
        /// <summary>
        /// 接收消息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="args"></param>
        private void receiveMessage(object sender, NIMReceiveMessageEventArgs args)
        {
            var type = args.Message.MessageContent.SessionType;

            if (type == NIMSessionType.kNIMSessionTypeP2P && args.Message.MessageContent.SenderID != targetId)
            {
                return;
            }

            var message = args.Message.MessageContent;

            if (message == null)
            {
                return;
            }

            addMessage(message);

            void action() => refresh();

            while (!(Parent?.IsHandleCreated ?? false))
            {
                Thread.Sleep(100);
            }

            Invoke((Action)action);
        }
Пример #2
0
 void OnReceiveMessage(object sender, NIMReceiveMessageEventArgs args)
 {
     DisplayReceivedMessage(args.Message.MessageContent);
     DemoTrace.WriteLine(args.Dump());
     if (args.Message.MessageContent.SessionType == NIM.Session.NIMSessionType.kNIMSessionTypeTeam)
     {
         var tid  = args.Message.MessageContent.ReceiverID;
         var msgs = new List <NIMIMMessage> {
             args.Message.MessageContent
         };
         NIM.Team.TeamAPI.MsgAckRead(tid, msgs, (data) =>
         {
         });
     }
 }
Пример #3
0
 void OnReceiveMessage(object sender, NIMReceiveMessageEventArgs args)
 {
     DisplayReceivedMessage(args.Message.MessageContent);
     DemoTrace.WriteLine(args.Dump());
 }