存在用户标识XMPP框架

时间:2014-04-08 07:55:12

标签: xmpp xmppframework user-presence

我如何能够获得具有用户ID的任何特定用户。

我的意思是说没有在名单列表中添加该用户。

请帮我解决这个问题。

提前致谢。

2 个答案:

答案 0 :(得分:2)

我假设你在谈论iOS XMPPFramework。如果没有,请忽略这个答案。 您可以向其他用户发送定向状态,如下所示:

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

_xmppStream是一个开放且连接的XMPPStream。

但请注意,如果其他用户不在您的名单中,大多数XMPP服务器将不允许回复此类定向在线状态。如果您正在管理自己的XMPP服务器,则可以对其进行修改以允许此类操作。

答案 1 :(得分:0)

您可以通过拨打以下插件网址来询问是否存在任何用户

http:// {SERVER_NAME}:9090 / plugins / presence / status?jid = USERID @ SERVER_NAME& type = text

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]);

        }];

它将返回" online"有吸引力的用户和"不可用的"对于离线用户。请注意图片中显示的openfire服务器上的服务器设置。 enter image description here