Привет, я занимаюсь разработкой чата с помощью XMPP Smack Library. Недавно я работаю над групповым чатом. При отправке сообщения группы некоторое сообщение будет отключено, поэтому получатель не получит сообщение со стороны отправителя. это даст мне 400 плохих запросов.Android Smack MUC 400 Bad Запрос группы отправки Сообщение чата
Он работает иногда. а иногда и не работает
здесь я нашел этот вид сообщения в 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>
Как я могу отправить сообщение настойчиво? Есть идеи? Благодарим вас в Advance.
вот мой код отправка MUC сообщения:
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 Я думаю, что это то же самый вопрос пакета, но до сих пор я подтверждаю обновление с надрезом кодом Многопользовательских отправить сообщение ... у меня также проблемы с подключением много раз отключается –
У меня была проблема с отключением, но когда я переместил ее в фоновый сервис, она была исправлена. Кроме того, если вы используете сервер openfire, включите архивирование чата и увидите, отключен ли пользователь после отправки сообщения «плохой запрос» также вы должны отправлять групповые сообщения, используя yourmuc.sendmessage, а не chat.sendmessage. Примечание: не указывайте ** TO ** или ** FROM ** при отправке сообщения –
У меня есть обновленный код отправки выше. –