Присутствие с идентификатором пользователя 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, показанном на рисунке.