Присутствие с идентификатором пользователя XMPP Framework

Как я могу получить присутствие любого конкретного пользователя с идентификатором пользователя.

Я имею в виду, без добавления этого пользователя в список.

Пожалуйста, помогите мне в этом.

Заранее спасибо.

2 ответа

Я предполагаю, что вы говорите о iOS XMPPFramework. Если нет, пожалуйста, игнорируйте этот ответ. Вы можете отправить направленное присутствие другому пользователю, например так:

XMPPPresence *presence = [[XMPPPresence alloc] initWithType:@"probe" to:someJid];
[_xmppStream sendElement:presence];

Где _xmppStream - это открытый и подключенный XMPPStream.

Однако обратите внимание, что большинство XMPP-серверов не разрешают отвечать на такого рода направленное присутствие, если другого пользователя нет в вашем списке. Если вы управляете своим собственным XMPP-сервером, вы можете изменить его, чтобы разрешить этот вид операций.

Вы можете запросить присутствие любого пользователя, вызвав следующий плагин URL

Http://{} SERVER_NAME:9090/ плагины / наличие / состояние JID =USERID@SERVER_NAME& тип = текст?

EX:

[NSURLConnection sendAsynchronousRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://SERVER_NAME:9090/plugins/presence/status?jid=ANYUSER@SERVER_NAME&type=text"]]  queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {

            if(connectionError==nil)
                NSLog(@"plugins response ===%@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);

        }];

Он вернет "активных" активных пользователей и "недоступных" для автономных пользователей.Пожалуйста, позаботьтесь о настройке сервера на сервере openfire, показанном на рисунке.

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