« Transfert de fichier » : différence entre les versions

De Wiki JabberFR
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Ligne 11 : Ligne 11 :
En général le destinataire doit accepter le transfert de fichier avant qu'il ne puisse s'effectuer. Le nom et la taille du fichier à transmettre sont alors présentés au destinataire ainsi que la description du fichier.
En général le destinataire doit accepter le transfert de fichier avant qu'il ne puisse s'effectuer. Le nom et la taille du fichier à transmettre sont alors présentés au destinataire ainsi que la description du fichier.


Le client essait d'abord de transmettre le fichier directement au destinataire. Si le transfert échoue, il essait alors de transmettre le fichier en passant par un serveur proxy.
Le client essait d'abord de transmettre le fichier directement au destinataire. Si le transfert échoue, il essaie alors de transmettre le fichier en passant par un serveur proxy. En agissant ainsi, le client fait toujours le choix de la méthode la plus efficace.
 
=Pour aller plus loin=
Nous allons voir maintenant le détail d'un transfert de fichier entre deux utilisateurs : expediteur@server1.org (expéditeur) et destinataire@server2.com (destinataire).
 
L'expéditeur envoie le fichier « test.txt » au destinataire. Il ajoute a sa demande de transfert une description « Voici le texte dont je t'avais parlé. » afin que le destinataire sache de quoi il s'agit et puisse accepter le fichier en connaissance de cause.
 
<iq type='set' id='offer1' to='destinataire@server2.com/resource'>
  <si xmlns='http://jabber.org/protocol/si'
      id='a0'
      mime-type='text/plain'
      profile='http://jabber.org/protocol/si/profile/file-transfer'>
    <file xmlns='http://jabber.org/protocol/si/profile/file-transfer'
          name='test.txt'
          size='1022'
          hash='552da749930852c69ae5d2141d3766b1'
          date='1969-07-21T02:56:15Z'>
      <desc>Voici le texte dont je t'avais parlé.</desc>
    </file>
    <feature xmlns='http://jabber.org/protocol/feature-neg'>
      <x xmlns='jabber:x:data' type='form'>
        <field var='stream-method' type='list-single'>
          <option><value>http://jabber.org/protocol/bytestreams</value></option>
          <option><value>http://jabber.org/protocol/ibb</value></option>
        </field>
      </x>
    </feature>
  </si>
</iq>
 
L'expéditeur propose dans l'élément <feature /> toutes les méthodes de transfert de fichier qu'il supporte. Ici, il propose les deux éléments requis par le protocole&nbsp;: [http://www.jabber.org/jeps/jep-0065.html JEP-0065: SOCKS5 Bytestreams] et [http://www.jabber.org/jeps/jep-0047.html JEP-0047: In-Band Bytestreams (IBB)].
 
la méthode de transfert de fichier qu'il préfère&nbsp;: ici la méthode «&nbsp;SOCKS5 Bytestreams&nbsp;»
 
<iq type='result' to='expediteur@server1.org/resource' id='offer1'>
  <si xmlns='http://jabber.org/protocol/si'>
    <feature xmlns='http://jabber.org/protocol/feature-neg'>
      <x xmlns='jabber:x:data' type='submit'>
        <field var='stream-method'>
          <value>http://jabber.org/protocol/bytestreams</value>
        </field>
      </x>
    </feature>
  </si>
</iq>
 
Maintenant que les deux clients se sont mis d'accord sur une méthode de transfert des données, ils vont pouvoir négocier le transfert des données.
 
...à compléter par un example SOCKS5 Bytestream


=Clients supportant ce protocole=
=Clients supportant ce protocole=
Ligne 72 : Ligne 24 :
** permet choisir un serveur proxy au cas où le transfert de fichier directe échouerait&nbsp;;
** permet choisir un serveur proxy au cas où le transfert de fichier directe échouerait&nbsp;;
** permet de choisir un serveur proxy différent pour chaque compte Jabber.
** permet de choisir un serveur proxy différent pour chaque compte Jabber.
=Serveurs supportant ce protocole=
Le transfert de fichier ne fait pas intervenir le serveur sauf dans le cas d'un transfert relayé par un serveur proxy. Pour l'instant, aucun serveur ne dispose d'un serveur proxy intégré mais [http://proxy65.jabberstudio.org/ un composant séparé] est utilisable par tous les serveurs afin de fournir cette fonctionnalité.
=Serveurs proxy publiques=
Il est préférable d'utiliser le serveur proxy de son propre serveur. Cependant, si votre serveur ne dispose pas d'un serveur proxy, vous pouvez utiliser un des serveurs publiques suivant&nbsp;:
* proxy.jabber.org

Version du 7 août 2005 à 21:00

En bref

Le protocole associé est le « JEP-0096: File Transfert ». Il définit comment transférer des fichiers d'un client à un autre. D'après ce protocole, il est possible :

  • de transférer des fichiers à un ami par une communication directe (de pair à pair) ;
  • de transférer des fichiers à un ami en passant par un serveur relai (aussi appelé serveur proxy) ;
  • de transférer une partie seulement d'un fichier ;
  • d'associer une description du fichier à sa demande de transfert.

Il n'y pas de limite en ce qui concerne la taille du fichier ou le débit de la connexion.

Pratiques courantes

En général le destinataire doit accepter le transfert de fichier avant qu'il ne puisse s'effectuer. Le nom et la taille du fichier à transmettre sont alors présentés au destinataire ainsi que la description du fichier.

Le client essait d'abord de transmettre le fichier directement au destinataire. Si le transfert échoue, il essaie alors de transmettre le fichier en passant par un serveur proxy. En agissant ainsi, le client fait toujours le choix de la méthode la plus efficace.

Clients supportant ce protocole

  • Gaim :
    • transfert de fichier un peu buggé parfois ;
    • ne permet pas de définir un proxy pour l'envoi de messages mais peut en utiliser un pour la réception.
  • Psi :
    • permet de choisir le port utilisé pour le transfert de fichier (8010 par défaut) ;
    • permet choisir un serveur proxy au cas où le transfert de fichier directe échouerait ;
    • permet de choisir un serveur proxy différent pour chaque compte Jabber.

Serveurs supportant ce protocole

Le transfert de fichier ne fait pas intervenir le serveur sauf dans le cas d'un transfert relayé par un serveur proxy. Pour l'instant, aucun serveur ne dispose d'un serveur proxy intégré mais un composant séparé est utilisable par tous les serveurs afin de fournir cette fonctionnalité.

Serveurs proxy publiques

Il est préférable d'utiliser le serveur proxy de son propre serveur. Cependant, si votre serveur ne dispose pas d'un serveur proxy, vous pouvez utiliser un des serveurs publiques suivant :

  • proxy.jabber.org