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];
}