2016-05-04 11 views
1

Ich fand diesen Fehler beim Senden der Emojis in openfire Chat-Anwendungsserver. Bitte schlagen Sie vor, wie Sie es lösen können.openfire Chatserver gibt Fehler beim Senden von Emojis

Fehler Domain = GCDAsyncSocketErrorDomain-Code = 7 "Socket durch Fern Peer geschlossen" Userinfo = {NSLocalizedDescription = Sockel von Remote-Peer geschlossen}

Antwort

1

Encode Ihre Nachrichten mit NSNonLossyASCIIStringEncoding und NSUTF8StringEncoding

NSString *messageStr = [NSString stringWithUTF8String:[textview.text UTF8String]]; 

// encode message 

NSData *msgData = [textview dataUsingEncoding:NSNonLossyASCIIStringEncoding]; 
NSString *goodMsg = [[[NSString alloc] initWithData:msgData encoding:NSUTF8StringEncoding] autorelease]; 

Hinweis: Wenn Ihre Clientanwendung die Emojis als \ ue415 formatiert, können Sie sie anschließend mit etwas wie diesem umwandeln:

- (NSString *) substituteEmoticons { 

    NSString *res = [self stringByReplacingOccurrencesOfString:@"\ue415" withString:@":)"]; 
    res = [res stringByReplacingOccurrencesOfString:@"\ue403" withString:@":("]; 
    res = [res stringByReplacingOccurrencesOfString:@"\ue405" withString:@";-)"]; 
    res = [res stringByReplacingOccurrencesOfString:@"\ue418" withString:@":-x"]; 
     ..... 
    return res; 
}