コード例 #1
0
 void Client_OnMessageReceived(object sender, AVIMMessageEventArgs e)
 {
     if (e.Message is AVIMImageMessage imageMessage)
     {
         Console.WriteLine(imageMessage.File.Url);
     }
 }
コード例 #2
0
 //加载离线消息
 private void OnOfflineMessageReceived(object sender, AVIMMessageEventArgs e)
 {
     //判断消息类型是否为文本消息==》TODO:对其他类型的消息进行判断
     if (e.Message is AVIMTextMessage || e.Message is AVIMImageMessage)
     {
         OfflineMessageList.Add(e);
     }
 }
コード例 #3
0
 //用户接收消息
 private void OnMessageReceived(object sender, AVIMMessageEventArgs e)
 {
     //判断消息类型是否为文本消息==》TODO:对其他类型的消息进行判断
     if (e.Message is AVIMTextMessage || e.Message is AVIMImageMessage)
     {
         App.Current.Dispatcher.Invoke((Action)(() =>
         {
             MyFriendsList.ForEach((Friend) =>
             {
                 if (Friend.IsCheat == false && Friend.Friend.ObjectId == e.Message.FromClientId)
                 {
                     //将消息加入对应好友的消息列表
                     Friend.MessageList.Add(new Message(e.Message));
                     //弹出tip
                     if (e.Message is AVIMTextMessage)
                     {
                         new Tip(Friend.Name, ((AVIMTextMessage)e.Message).TextContent, 3).Show();
                     }
                     else
                     {
                         new Tip(Friend.Name, ((AVIMImageMessage)e.Message).TextContent, 3).Show();
                     }
                     //在主页面对应用户上做提示
                     Friend.Visibility = Visibility.Visible;
                 }
             });
         }));
     }
     //判断是否为NoticeMessage
     if (e.Message is NoticeMessage)
     {
         App.Current.Dispatcher.Invoke((Action)(() =>
         {
             MyFriendsList.ForEach((Friend) =>
             {
                 //找到上线的好友信息
                 if (Friend.Friend.ObjectId == ((NoticeMessage)e.Message).FromClientId)
                 {
                     //好友上线
                     if (((NoticeMessage)e.Message).Notice == "我上线啦")
                     {
                         //将其设为上线
                         Friend.Online = true;
                         new Tip("提示", Friend.Name + "上线了", 5).Show();
                     }
                     //好友下线
                     if (((NoticeMessage)e.Message).Notice == "我下线啦")
                     {
                         //将其设为下线
                         Friend.Online = false;
                         new Tip("提示", Friend.Name + "下线了", 5).Show();
                     }
                 }
             });
         }));
     }
 }
コード例 #4
0
 private void OnMessageReceived(object sender, AVIMMessageEventArgs e)
 {
     if (e.Message is AVIMTextMessage)
     {
         var textMessage = (AVIMTextMessage)e.Message;
         // textMessage.ConversationId 是该条消息所属于的对话 Id
         // textMessage.TextContent 是该文本消息的文本内容
         // textMessage.FromClientId 是消息发送者的 client Id
         Debug.Log(string.Format("你收到来自于 Id 为 {0} 的对话的文本消息,消息内容是: {1},发送者的 client Id 是 {2}", textMessage.ConversationId, textMessage.TextContent, textMessage.FromClientId));
         ProtocolManaer.Instance.Parse(textMessage.TextContent);
     }
 }
コード例 #5
0
        private void Client_OnMessageReceived(object sender, AVIMMessageEventArgs e)
        {
            if (e.Message is AVIMMessage)
            {
                var baseMeseage = e.Message as AVIMMessage;

                lbx_messages.Invoke((MethodInvoker)(() =>
                {
                    data.Add(baseMeseage);
                    lbx_messages.Refresh();
                }));
            }
        }
コード例 #6
0
ファイル: Main.xaml.cs プロジェクト: z-wl/TnecnetOO
 //用户接收消息
 private void OnMessageReceived(object sender, AVIMMessageEventArgs e)
 {
     //判断消息类型是否为文本消息==》TODO:对其他类型的消息进行判断
     if (e.Message is AVIMTextMessage || e.Message is AVIMImageMessage)
     {
         App.Current.Dispatcher.Invoke((Action)(() =>
         {
             InviteFriend.MessageList.Add(new Message(e.Message));
             //TODO:
             received.ItemsSource = null;
             received.ItemsSource = InviteFriend.MessageList;
             //聚焦最新的消息
             received.ScrollIntoView(received.Items.GetItemAt(InviteFriend.MessageList.Count - 1));
         }));
     }
 }
コード例 #7
0
 private void OnMessageReceived(object sender, AVIMMessageEventArgs e)
 {
     if (e.Message is BinaryMessage)
     {
         var binaryMessage = e.Message as BinaryMessage;
         var binaryData    = binaryMessage.BinaryData;
         // 下面的字符串内容就是 I love Unity
         var text = System.Text.Encoding.UTF8.GetString(binaryData);
         Debug.Log("binary message:" + text);
     }
     else if (e.Message is IMNormalTalk)
     {
         var imNormalTalkMessage = e.Message as IMNormalTalk;
         Debug.Log("IMNormalTalk message:" + imNormalTalkMessage.m_Content);
     }
 }
コード例 #8
0
 private void VIMClient_OnMessageReceived(object sender, AVIMMessageEventArgs e)
 {
     if (e.Message is AVIMTextMessage)
     {
         if (_syncContext != SynchronizationContext.Current)
         {
             _syncContext.Post(o =>
             {
                 var textMessage     = (AVIMTextMessage)e.Message;
                 MessageItem newItem = fromIMTextMessage(textMessage);
                 itemList.Add(newItem);
                 onMessageReceive(newItem, false);
             }, null);
             return;
         }
     }
 }
コード例 #9
0
 static void OnMessageReceived(object sender, AVIMMessageEventArgs e)
 {
     if (e.Message is AVIMImageMessage imageMessage)
     {
         var mentionedAll = e.Message.MentionAll;
     }
     else if (e.Message is AVIMAudioMessage audioMessage)
     {
     }
     else if (e.Message is AVIMVideoMessage videoMessage)
     {
     }
     else if (e.Message is AVIMFileMessage fileMessage)
     {
     }
     else if (e.Message is AVIMLocationMessage locationMessage)
     {
     }
     else if (e.Message is AVIMTypedMessage baseTypedMessage)
     {
     }// 这里可以继续添加自定义类型的判断条件
 }
コード例 #10
0
 private void CurrentClient_OnMessageReceived(object sender, AVIMMessageEventArgs e)
 {
     if (e.Message.ConversationId == this.ConversationInSession.ConversationId)
     {
         if (e.Message is AVIMTextMessage)
         {
             App.Current.Dispatcher.Invoke((Action) delegate
             {
                 var item = new MessageViewModel(iMessage: e.Message);
                 MessagesInSession.Add(item);
                 this.SelectedItem = item;
             });
         }
         else if (e.Message is BinaryMessage)
         {
             var binaryMessage = e.Message as BinaryMessage;
             var binaryData    = binaryMessage.BinaryData;
             var text          = System.Text.Encoding.UTF8.GetString(binaryData);
         }
         else
         {
         }
     }
 }
コード例 #11
0
 private void Realtime_OnOfflineMessageReceived(object sender, AVIMMessageEventArgs e)
 {
     AVRealtime.PrintLog(e.Message.Id);
 }
コード例 #12
0
 private void Client_OnOfflineMessageReceived(object sender, AVIMMessageEventArgs e)
 {
     Console.WriteLine(e.Message.Id);
 }