我使用android smack 4.1 xmpp开发了一个聊天应用程序。
因为我主要有两个问题:
1)关于接收消息
聊天时一切正常,其他人的消息也接收和发送,但是经过一段时间间隔消息自动发送给其他人而不是从另一台设备接收。
从另一台设备接收消息时,我收到了像
这样的SMCK-RECV日志D/SMACK: RECV (2): <message from='37croom@conference.mydata.com/jacson##0123456@mydata.com/resorcesname' to='jacson##0123456@mydata.com/resorcesname' xml:lang='en' id='ohV1J-77' type='groupchat'><body>helo</body></message>
但不是呼叫接收消息部分。它不会每次都发生,所有工作都在一段时间内工作正常但是在一些消息之后它自动只是给出上面的消息而不是呼叫消息接收体。
我的消息接收代码如下;
Constants.connection = connection;
if (connection != null) {
StanzaTypeFilter message_filter = new StanzaTypeFilter(Message.class);
Constants.connection.addSyncStanzaListener(new StanzaListener() {
@Override
public void processPacket(Stanza packet) {
Message message = (Message) packet;
// all receive message handle here
}, message_filter);
}
2)在加入会议室
在那里,我由一个人创建会议室,发送另一个人的请求,接受并加入房间。
第一次加入快速接受请求后,聊天不能互相帮助,但是一旦我杀死了应用程序并再次加入并聊天,那么工作正常(除了上述问题1)。
所以,请任何人帮我解决这个问题,非常感谢。 谢谢。