嘿,我正在使用XMPP Smack Library开发聊天应用程序。最近我正在进行群聊,在发送群组消息时,一些消息将被丢弃,因此接收者不会从发送方接收消息。它会给我400个不好的要求。Android Smack MUC 400错误请求发送群组聊天消息
它有时正在工作。有时不工作
在这里我发现这种类型的消息在400坏请求。
<?xml version="1.0" encoding="UTF-8"?>
<message to="[email protected]/Android" id="nXlV6-1144" type="error" from="[email protected]/[email protected]">
<received xmlns="urn:xmpp:receipts" id="nXlV6-1142" />
<error code="400" type="modify">
<bad-request xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" />
</error>
</message>
如果成功发送消息,它会给这种消息。
<?xml version="1.0" encoding="UTF-8"?>
<message to="[email protected]/Android" id="nXlV6-1411" type="groupchat" from="[email protected]/[email protected]">
<body>eyu4u4</body>
<chatDetail xmlns="jabber:x:oob">
<UID>156</UID>
<time>04:20 PM</time>
<user_icon>24_group_icon.jpg</user_icon>
<SentTime>1474368652960</SentTime>
<USERName>vasudev89</USERName>
<user_name>cryan</user_name>
<message>eyu4u4</message>
<type>group</type>
<phone_number>24</phone_number>
</chatDetail>
<request xmlns="urn:xmpp:receipts" />
</message>
我该如何持续发送消息?任何想法? 预先感谢您。
这里是我的代码发送睦消息:
public boolean sendGroupMessage(Message message, String strGroupID) {
DeliveryReceiptRequest.addTo(message);
try {
Log.i(TAG, "sendGroupMessage");
//Log.i("JOIN MUC","To join group chat: " + groupChat.getClassId());
// Get the MultiUserChatManager
MultiUserChatManager manager = MultiUserChatManager.getInstanceFor(AbstractXMPPConnection);
// Create a MultiUserChat using an XMPPConnection for a room
MultiUserChat muc = manager.getMultiUserChat(strGroupID + AppWSConstants.XMPP_JID_GROUP_CHAT_SUFFIX);
muc.sendMessage(message);
return true;
} catch (NotConnectedException e) {
e.printStackTrace();
}
return false;
}
HI我认为这是同一个包的问题,但我仍确认的多SNIP代码更新用户发送消息...我也有连接问题,它被断开很多次 –
我有断开连接问题,但是当我将它移动到后台服务时,它被修复了。 还有一件事,如果您使用的是openfire服务器,启用存档聊天功能,并且在发送消息“不良请求”后,看看用户是否断开连接 也应该使用yourmuc.sendmessage发送组消息,而不是chat.sendmessage。 注意:发送消息时不要指定** TO **或** FROM ** –
我已经更新了我上面的发送代码。 –