Пространство имен компонента Openfire XMPP в getChildElement в пакете

Будучи новичком в XMPP и Java (я являюсь разработчиком iOS), следуя некоторому руководству, мне удалось написать серверный компонент (Openfire) и клиентское приложение iOS (используя ib xmppframeowrk от robbiehanson). Я мог отправлять и получать сообщения для компонента <-> iOS-клиента. Вот абстрактный код:

Отправка присутствия из приложения iOS client на серверный компонент:

XMPPPresence *presence = [XMPPPresence presence];
[presence addAttributeWithName:@"to" stringValue:serverComponentJid];
NSXMLElement *someInfo = [NSXMLElement elementWithName:@"someInfo"
                                               stringValue:@"xyz"];
[presence addChild:someInfo];
[_xmppStream sendElement:presence];

Получение пакета в серверном компоненте:

if (packet instanceof Presence){
        org.xmpp.packet.Presence recvPresence = (Presence) packet;

Element theInfo = recvPresence.getChildElement("someInfo", "***what_shoud_be_the_namespace_here***");
System.out.println("Some info in the presence as " + theInfo.attributeValue("someInfo"));

Я могу распечатать пакет и посмотреть someInfo. Когда я передаю "" в пространстве имен, тогда я могу получить его правильно, что понятно. Однако я до сих пор не понимаю, что и как использовать пространство имен в xmpp. Любое руководство, тут, ссылка, ссылка или ответы, пожалуйста

1 ответ

Решение

Пространства имен используются для определения "использования / объема" раздела (пакета). Они используются для определения функциональности и связывания действий (анализатор, список и т. Д.), Поэтому любой API сможет добавить поведение (по умолчанию или пользовательское), основанное на tagName и пространстве имен.

Таким образом, пространство имен используется как зарезервированный ключ для протокола.

С помощью пользовательских пространств имен можно определить пользовательский IQ (или что-то еще) и иметь собственную логику / анализатор и т. Д., Чтобы запускать точность, когда вы хотите, и получать n пользовательских действий, которые вам нравятся и вам нужны.

Официальные документы:

https://datatracker.ietf.org/doc/rfc6120/?include_text=1

И больше:

http://xmpp.org/extensions/index.html

Другие вопросы по тегам