1

quickblox サーバーに再接続した後、メッセージの送信に問題があります。ユーザーは他のユーザーとのチャットの途中で自動的にログアウトし、サーバーに再接続した後、チャット メッセージが送信されません。しかし、それが送信されたことを示すログは、受信ログを表示しません。再接続コードは正常に機能しますが、チャットできなくなりました。

正常に動作していたとき、

    2013-10-12 10:48:37.033 football365[1000:8517] -[QBChat xmppStream:didSendMessage:] ->              Message: <message to="4099_000000001000000003@muc.chat.quickblox.com" id="7" type="groupchat"><body>hello</body></message>
    2013-10-12 10:48:37.463 football365[1000:8517] -[QBChat xmppRoom:didReceiveMessage:fromNick:] -> message: <message xmlns="jabber:client" type="groupchat" to="578338-4099@chat.quickblox.com/tigase-11258" from="4099_000000001000000003@muc.chat.quickblox.com/578338"><body>hello</body></message> fromNick: 578338

メッセージのみを送信した場合、受信ログは表示されません。

    2013-10-12 10:48:37.033 football365[1000:8517] -[QBChat xmppStream:didSendMessage:] ->              Message: <message to="4099_000000001000000003@muc.chat.quickblox.com" id="7" type="groupchat"><body>hello</body></message>

DataManager.m のログイン コード。

    - (void)chatLogin{
        QBASessionCreationRequest *extendedAuthRequest = [QBASessionCreationRequest request];
        extendedAuthRequest.userLogin = @"userid";
        extendedAuthRequest.userPassword = @"password";
        [QBAuth createSessionWithExtendedRequest:extendedAuthRequest delegate:self];
        [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
    }

    - (void)completedWithResult:(Result *)result{
        if(result.success && [result isKindOfClass:QBAAuthSessionCreationResult.class]){
            QBAAuthSessionCreationResult *res = (QBAAuthSessionCreationResult *)result; 
            currentUser = [QBUUser user];
            currentUser.ID = res.session.userID;
            currentUser.password = @"password";
            [[DataManager shared] setCurrentUser: currentUser];
            [QBChat instance].delegate = self;
            [[QBChat instance] loginWithUser:currentUser];
        }
    }  

chatViewController.m のコードを再接続し、

    -(void)chatDidFailWithError:(int)code
    {
        [[QBChat instance] loginWithUser:currentUser];
    }
4

0 に答える 0