ios,xmpp 添加好友与好友请求处理

来源:互联网 发布:javascript 数据库 编辑:程序博客网 时间:2024/04/25 22:46
    XMPPStream *xmppStream;    XMPPReconnect *xmppReconnect;        XMPPRoster *xmppRoster;//用户对象//需要添加的对象
    //添加好友    #pragma mark 加好友- (void)XMPPAddFriendSubscribe:(NSString *)name{  //XMPPHOST 就是服务器名,  主机名      XMPPJID *jid = [XMPPJID jidWithString:[NSString stringWithFormat:@"%@@%@",name,XMPPHOST]];    //[presence addAttributeWithName:@"subscription" stringValue:@"好友"];    [xmppRoster subscribePresenceToUser:jid];    }

            //处理加好友          #pragma mark 处理加好友回调,加好友- (void)xmppRoster:(XMPPRoster *)sender didReceivePresenceSubscriptionRequest:(XMPPPresence *)presence{    //取得好友状态    NSString *presenceType = [NSString stringWithFormat:@"%@", [presence type]]; //online/offline    //请求的用户    NSString *presenceFromUser =[NSString stringWithFormat:@"%@", [[presence from] user]];    NSLog(@"presenceType:%@",presenceType);        NSLog(@"presence2:%@  sender2:%@",presence,sender);        XMPPJID *jid = [XMPPJID jidWithString:presenceFromUser];    [xmppRoster acceptPresenceSubscriptionRequestFrom:jid andAddToRoster:YES];}
           //在次处理加好友#pragma mark 收到好友上下线状态- (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence {//    DDLogVerbose(@"%@: %@ ^^^ %@", THIS_FILE, THIS_METHOD, [presence fromStr]);        //取得好友状态    NSString *presenceType = [NSString stringWithFormat:@"%@", [presence type]]; //online/offline    //当前用户//    NSString *userId = [NSString stringWithFormat:@"%@", [[sender myJID] user]];    //在线用户    NSString *presenceFromUser =[NSString stringWithFormat:@"%@", [[presence from] user]];    NSLog(@"presenceType:%@",presenceType);    NSLog(@"用户:%@",presenceFromUser);//这里再次加好友    if ([presenceType isEqualToString:@"subscribed"]) {        XMPPJID *jid = [XMPPJID jidWithString:[NSString stringWithFormat:@"%@",[presence from]]];[xmppRoster acceptPresenceSubscriptionRequestFrom:jid andAddToRoster:YES];    }}

#pragma mark 删除好友,取消加好友,或者加好友后需要删除- (void)removeBuddy:(NSString *)name{XMPPJID *jid = [XMPPJID jidWithString:[NSString stringWithFormat:@"%@@%@",name,XMPPHOST]];[self xmppRoster] removeUser:jid];}


意主机名  和 处理顺序

原创粉丝点击