首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
首页
>
其他好文
>
如何解决群聊(MUC)聊天室重复存储、接收自己发送的消息的问题
如何解决群聊(MUC)聊天室重复存储、接收自己发送的消息的问题
时间:
2014-06-05 14:09:15
收藏:
0
阅读:
226
CHENYILONG
Blog
如何#解决方案#群聊(MUC)聊天室重复存储、接收自己发送的消
息
编号
项目
描述
1
问题描述
单聊没问题,群聊会出现自动回复的问题
数据库中存储的数据出现的问题
界面上出现的问题:类似自动回复。回音壁一样一模一样地回答。
2
问题产生的原因
3
群聊基本的原理示意图
聊天内容的显示是经由从数据库进行的读取排序,
4
#解决方案#
拦截阻挡红色区域的执行
5
失败的尝试:尝试但是没有效果的方法
// AppDelegate.m中
#pragma
接收消息代理监听方法
-(
void
)xmppStream:(
XMPPStream
*)sender didReceiveMessage:(
XMPPMessage
*)message {
XMPPJID
*jid = message.
to
;
if
([
_xmppStream
.
myJID
isEqualToJID
:jid]){
return
;
}
}
6
正确修改的文件
/Users/chenyilong/Desktop/平安校园IM0604/平安校园IM/Classes/Other/Lib/XMPP/Extensions/XEP-0136/XMPPMessageArchiving.m
7
正确修改的代码
- (
void
)xmppStream:(
XMPPStream
*)sender didReceiveMessage:(
XMPPMessage
*)message
{
XMPPLogTrace
();
NSUserDefaults
*defaults = [
NSUserDefaults
standardUserDefaults
];
NSString
*userName = [defaults
stringForKey
:
@"userName"
];
XMPPJID
*jid = message.
from
;
NSString
*str = jid.
resource
;
if
([str
isEqualToString
:userName]){
return
;
}
if
([
self
shouldArchiveMessage
:message
outgoing
:
NO
xmppStream
:sender])
{
[
xmppMessageArchivingStorage
archiveMessage
:message
outgoing
:
NO
xmppStream
:sender];
}
}
?
chenyilong
. Powered by
https://www.evernote.com/shard/s227/sh/5e3c15b8-2fb1-4b39-b802-7f4163577351/7fc3a0de07b5865d87dede64bbd625b8
Blog
如何解决群聊(MUC)聊天室重复存储、接收自己发送的消息的问题,布布扣,bubuko.com
评论(
0
)
© 2014
mamicode.com
版权所有
京ICP备13008772号-2
联系我们:gaon5@hotmail.com
迷上了代码!