1

我怎样才能获得任何具有用户 ID 的特定用户的存在。

我的意思是说不将该用户添加到名册列表中。

请帮助我解决这个问题。

提前致谢。

4

2 回答 2

2

我假设您在谈论 iOS XMPPFramework。如果不是,请忽略此答案。您可以像这样向其他用户发送定向出席信息:

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

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

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

于 2014-04-09T17:19:20.760 回答
0

您可以通过调用以下插件 url 来询问任何用户的存在

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

前任:

[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 服务器上的服务器设置。在此处输入图像描述

于 2014-12-20T13:10:39.320 回答