用户id为XMPP框架的状态

用户id为XMPP框架的状态,xmpp,xmppframework,user-presence,Xmpp,Xmppframework,User Presence,如何获取具有用户id的任何特定用户的存在 我的意思是说,不要把那个用户添加到名册列表中 请帮我解决这个问题 提前谢谢 我想你说的是iOS XMPPFramework。如果没有,请忽略此答案。 您可以向其他用户发送定向状态,如下所示: XMPPPresence *presence = [[XMPPPresence alloc] initWithType:@"probe" to:someJid]; [_xmppStream sendElement:presence]; 其中_xmppStream是

如何获取具有用户id的任何特定用户的存在

我的意思是说,不要把那个用户添加到名册列表中

请帮我解决这个问题


提前谢谢

我想你说的是iOS XMPPFramework。如果没有,请忽略此答案。 您可以向其他用户发送定向状态,如下所示:

XMPPPresence *presence = [[XMPPPresence alloc] initWithType:@"probe" to:someJid];
[_xmppStream sendElement:presence];
其中_xmppStream是一个开放且连接的xmppStream


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

您可以通过调用以下插件url请求任何用户在场

http://{SERVER_NAME}:9090/plugins/presence/status?jid=USERID@SERVER_NAME&类型=文本

例:


它将为活动用户返回“online”,为脱机用户返回“Unavailable”。请注意图中显示的openfire server上的服务器设置。

好的,谢谢您的帮助。我在用户脱机时为他/她返回“Unavailable”,但为“null”当那个特别的用户上网时。情况不应该是这样。让我再次检查我的代码。我用我的代码进行了测试,似乎工作正常。请检查服务器名并运行http://{SERVER_NAME}:9090/plugins/presence/status?jid=USERID@SERVER_NAME&键入=首先要检查的浏览器上的文本
[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]);

        }];