Transmission d'un fichier

Frouf85 Messages postés 106 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 7 octobre 2004 - 10 juin 2004 à 10:02
aminko Messages postés 1 Date d'inscription vendredi 5 septembre 2003 Statut Membre Dernière intervention 30 août 2005 - 30 août 2005 à 23:41
Bonjour,

je souhaite transmettre un fichier au travers de RMI.

Je pense le transmettre sous forme d'un tableau de char mais pour initialiser un tableau de char il faut une taille de type int:
char[] tab=new char[taille];

Je pensais utiliser la taille du fichier pour initialiser la taille de ce tableau mais pour avoir la taille d'un fichier, il faut utiliser la méthode File.length() qui retourne un long.

Et vu qu'un long fait 64 bits et qu'un int 32 bits, il se peut que pour les gros fichiers ça ne marche pas si je cast le long en int.

Quelqu'un a t'il une solution ou tout autre proposition pour la transmission d'un fichier entre un client et un serveur?

merci,

Frouf

4 réponses

safisoft Messages postés 489 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 13 mai 2009 6
10 juin 2004 à 12:19
tu pe expliquer comment tu ve l'envoyer?
moi, j'envoi les fic via des sockets, pour celà j'envoi pas octet par octer mais avec des buffers de 200,300... chars.
0
Frouf85 Messages postés 106 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 7 octobre 2004
10 juin 2004 à 14:11
En fait le rmi marche par sérialisation.
J'ai pensé à passer directement le File mais vu qu'un File possède un chemin absolu une fois arrivé chez le client il n'est pas reconnu.
Donc je veux envoyer un tableau de caractères pour n'envoyer que le contenu.
Frouf
0
toffe12 Messages postés 53 Date d'inscription vendredi 12 septembre 2003 Statut Membre Dernière intervention 23 septembre 2005 1
10 juin 2004 à 16:25
la classe file implemente deja l'interface serializable utilisé dans la technologie RMI. Donc tu n'a rien a faire juste a passer l'objet File du client vers le serveur ou du serveur vers le client en ayant une methode getFichier ou setFichier au niveau de ta classe RMI . Tout depend bien sur de la taille du fichier pour des fichiers de grande taille faut peut etre prevoir autre chose en regard de la bande passante ou des temps de reponse acceptable.

bon courrage
0
aminko Messages postés 1 Date d'inscription vendredi 5 septembre 2003 Statut Membre Dernière intervention 30 août 2005
30 août 2005 à 23:41
salut,
bon pour envoyer un fichier d'une capacité grande il suffit de le diviser en petits morceaux sur le client et les envoyer au serveur qui les reconstitue sur un seul fichier.
0
Rejoignez-nous