XMPP资源id在登录多个设备时发生更改

XMPP资源id在登录多个设备时发生更改,xmpp,http-status-code-503,Xmpp,Http Status Code 503,我使用相同的用户id和密码登录了两台设备,因此当目标设备向客户端发送语音或图像时,一台设备收到目标消息,而另一台设备没有收到目标消息。因为在两个设备中登录时,资源id正在更改。其显示错误消息503() //---我将发送一个字符串形式的图像,它为我工作 - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

我使用相同的用户id和密码登录了两台设备,因此当目标设备向客户端发送语音或图像时,一台设备收到目标消息,而另一台设备没有收到目标消息。因为在两个设备中登录时,资源id正在更改。其显示错误消息503()

//---我将发送一个字符串形式的图像,它为我工作

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{



    CGFloat maxCompression = 0.1f;

    UIImage * getimage =[self imageWithImage:[info objectForKey:UIImagePickerControllerOriginalImage]];
    NSData *imageData = UIImageJPEGRepresentation(getimage, maxCompression);

    NSDate *currDate = [NSDate date];
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
    [dateFormatter setDateFormat:@"YYYY-MM-dd HH:mm:ss Z"];
    NSString *dateString = [dateFormatter stringFromDate:currDate];


    //--- convert image to string -----

    NSString* imageString = [imageData base64EncodedStringWithOptions:0];
    //---- new change --

    imageString = [imageString stringByAppendingString:@".IMAGE"];

    //-------------

    if ([imageString length] > 0)
    {
        [dbHandler insertChatHistory:imageString imageData:nil receiveType:2 mediaType:1 receiverName:titleName date:dateString];

        NSXMLElement *body = [NSXMLElement elementWithName:@"body"];
        [body setStringValue:imageString];

        NSXMLElement *message = [NSXMLElement elementWithName:@"message"];
        [message addAttributeWithName:@"type" stringValue:@"chat"];
        [message addAttributeWithName:@"to" stringValue:receiver]; //--- jenish ---
        [message addChild:body];
        [self.xmppStream sendElement:message];

        [messageType addObject:@"1"];
        [messageArray addObject:[NSDictionary dictionaryWithObject:imageString forKey:@"Text"]];
        [self.timestamps addObject:[NSDate date]];

    }

    [self finishSend];
    [JSMessageSoundEffect playMessageSentSound];
    [self scrollToBottomAnimated:YES];
    [self reloadMessages];

    [self dismissViewControllerAnimated:YES completion:NULL];

}

这篇文章没有一个问题。请更新你的帖子。XMPP Resourceparts对于每个连接/设备都是唯一的。更改资源是预期行为。根据您的XMPP配置,您可以配置路由,将pachet推送到给定目标地址的每个资源(例如,Openfire具有这种配置功能)
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{



    CGFloat maxCompression = 0.1f;

    UIImage * getimage =[self imageWithImage:[info objectForKey:UIImagePickerControllerOriginalImage]];
    NSData *imageData = UIImageJPEGRepresentation(getimage, maxCompression);

    NSDate *currDate = [NSDate date];
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
    [dateFormatter setDateFormat:@"YYYY-MM-dd HH:mm:ss Z"];
    NSString *dateString = [dateFormatter stringFromDate:currDate];


    //--- convert image to string -----

    NSString* imageString = [imageData base64EncodedStringWithOptions:0];
    //---- new change --

    imageString = [imageString stringByAppendingString:@".IMAGE"];

    //-------------

    if ([imageString length] > 0)
    {
        [dbHandler insertChatHistory:imageString imageData:nil receiveType:2 mediaType:1 receiverName:titleName date:dateString];

        NSXMLElement *body = [NSXMLElement elementWithName:@"body"];
        [body setStringValue:imageString];

        NSXMLElement *message = [NSXMLElement elementWithName:@"message"];
        [message addAttributeWithName:@"type" stringValue:@"chat"];
        [message addAttributeWithName:@"to" stringValue:receiver]; //--- jenish ---
        [message addChild:body];
        [self.xmppStream sendElement:message];

        [messageType addObject:@"1"];
        [messageArray addObject:[NSDictionary dictionaryWithObject:imageString forKey:@"Text"]];
        [self.timestamps addObject:[NSDate date]];

    }

    [self finishSend];
    [JSMessageSoundEffect playMessageSentSound];
    [self scrollToBottomAnimated:YES];
    [self reloadMessages];

    [self dismissViewControllerAnimated:YES completion:NULL];

}