private void MessageListener_OnMessageReceived(object sender, AVIMMessageEventArgs e) { if (this.m_OnMessageReceived != null) { this.m_OnMessageReceived.Invoke(this, e); } this.AckListener_OnMessageReceieved(sender, e); }
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); } }
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); } }
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); } }
private void UpdateUnreadNotice(object sender, AVIMMessageEventArgs e) { ConversationUnreadListener.UpdateNotice(e.Message); }