Esempio n. 1
0
 private void MessageListener_OnMessageReceived(object sender, AVIMMessageEventArgs e)
 {
     if (this.m_OnMessageReceived != null)
     {
         this.m_OnMessageReceived.Invoke(this, e);
     }
     this.AckListener_OnMessageReceieved(sender, e);
 }
Esempio n. 2
0
 private void OfflineMessageListener_OnOfflineMessageReceived(object sender, AVIMMessageEventArgs e)
 {
     if (OnOfflineMessageReceived != null)
     {
         OnOfflineMessageReceived(this, e);
     }
     this.AckListener_OnMessageReceieved(sender, e);
 }
 public void OnNoticeReceived(AVIMNotice notice)
 {
     if (m_OnOfflineMessageReceived != null)
     {
         var msgStr   = notice.RawData["msg"].ToString();
         var iMessage = AVRealtime.FreeStyleMessageClassingController.Instantiate(msgStr, notice.RawData);
         var args     = new AVIMMessageEventArgs(iMessage);
         m_OnOfflineMessageReceived.Invoke(this, args);
     }
 }
        private void AckListener_OnMessageReceieved(object sender, AVIMMessageEventArgs e)
        {
            lock (mutex)
            {
                var ackCommand = new AckCommand().MessageId(e.Message.Id)
                                 .ConversationId(e.Message.ConversationId)
                                 .PeerId(this.ClientId);

                this.LinkedRealtime.AVIMCommandRunner.RunCommandAsync(ackCommand);
            }
        }
Esempio n. 5
0
 internal virtual void OnMessage(AVIMNotice notice)
 {
     if (m_OnMessageReceived != null)
     {
         var msgStr   = notice.RawData["msg"].ToString();
         var iMessage = AVRealtime.FreeStyleMessageClassingController.Instantiate(msgStr, notice.RawData);
         //var messageNotice = new AVIMMessageNotice(notice.RawData);
         //var messaegObj = AVIMMessage.Create(messageNotice);
         var args = new AVIMMessageEventArgs(iMessage);
         m_OnMessageReceived.Invoke(this, args);
     }
 }
 private void MessageListener_OnMessageReceived(object sender, AVIMMessageEventArgs e)
 {
     if (this.m_OnMessageReceived != null)
     {
         this.m_OnMessageReceived.Invoke(this, e);
     }
     this.AckListener_OnMessageReceieved(sender, e);
     if (LinkedRealtime.CurrentConfiguration.OfflineMessageStrategy == AVRealtime.OfflineMessageStrategy.UnreadAck)
     {
         this.UpdateUnreadNotice(sender, e);
     }
 }
Esempio n. 7
0
        private void AckListener_OnMessageReceieved(object sender, AVIMMessageEventArgs e)
        {
            lock (mutex)
            {
                var ackCommand = new AckCommand().MessageId(e.Message.Id)
                                 .ConversationId(e.Message.ConversationId);

                // 在 v.2 协议下,只要在线收到消息,就默认是已读的,下次上线不会再把当前消息当做未读消息
                if (this.LinkedRealtime.CurrentConfiguration.OfflineMessageStrategy == AVRealtime.OfflineMessageStrategy.UnreadNotice)
                {
                    ackCommand = ackCommand.ReadAck();
                }

                this.RunCommandAsync(ackCommand);
            }
        }
Esempio n. 8
0
 private void UpdateUnreadNotice(object sender, AVIMMessageEventArgs e)
 {
     ConversationUnreadListener.UpdateNotice(e.Message);
 }