2016-08-02 1 views
0

J'utilise XMPPOutgoingFileTransfer et XMPPIncomingFileTransfer pour transférer des données de fichier. Lorsque les deux utilisateurs sont en ligne, je peux envoyer des données de fichier. Mais lorsqu'un utilisateur passe en mode hors connexion, il ne parvient pas à envoyer les données du fichier et le délégué suivant est appelé.Pourquoi XMPPOutgoingFileTransfer échoue lorsque l'autre utilisateur est hors connexion?

- (void)xmppOutgoingFileTransfer:(XMPPOutgoingFileTransfer *)sender 
      didFailWithError:(NSError *)error 

Et l'erreur est

Error Domain=XMPPOutgoingFileTransferErrorDomain Code=503 "<service-unavailable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>" UserInfo={NSLocalizedDescription=<service-unavailable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>} 

Comment puis-je envoyer des données de fichiers hors ligne. Merci d'avance.

Répondre

3

Dans XMPP, le transfert de fichier est négocié entre les parties. Il existe plusieurs spécifications XMPP pour le transfert de fichiers, mais pour avoir une meilleure idée de son fonctionnement, vous pouvez en lire un, comme XEP-0234 Jingle File Transfer. Il s'agit essentiellement de l'initiation de session, c'est-à-dire la négociation d'un transfert de données hors bande directement entre les homologues ou via un proxy. Ceci est conçu pour le transfert en direct (un peu comme un appel téléphonique, sauf s'il s'agit d'un autre type de données).

De nouvelles spécifications supportent le téléchargement d'un fichier sur un espace partagé via HTTP et le partage de liens pour le télécharger: XEP-0363 HTTP File Upload. Cependant, vous devez vous assurer que votre bibliothèque et votre serveur le prennent en charge.

+0

Merci beaucoup @ Mickaël. – Sujit