ios,xmpp 添加好友與好友請求處理

來源:互聯網
上載者:User
    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];}

注意主機名稱  和 處理順序

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.