Bonjour est t'il possible de réaliser un upload de fichier (type File) en CORBA?
je voudrais en fait que le client en C++ par exemple puisse envoyer un fichier au serveur en java
C'est possible?
Merci :yaisse2:
Version imprimable
Bonjour est t'il possible de réaliser un upload de fichier (type File) en CORBA?
je voudrais en fait que le client en C++ par exemple puisse envoyer un fichier au serveur en java
C'est possible?
Merci :yaisse2:
Bonjour,
il n'y a pas de mécanisme par défaut ou de service standardisé pour le transfert de fichier via CORBA.
En revanche, il est tout à fait possible de créer ce mécanisme via une opération CORBA transférant le fichier sous forme de séquence d'octets...
Le client lit le fichier et remplis la séquence, le serveur reçoit la séquence et recrée le fichier.
Cependant, attention aux limitations possibles des ORBs sur la taille max des requêtes CORBA !
Il est donc préférable de prévoir un algo avec plusieurs envois successifs de séquences d'octets dans le cas de gros fichiers.
ah d'accord alors ce serais de transformé le type 'file' (java) en octect et de le transférer uniquement mais comment le reconstituer? (en fait je savais pas que c'etait possible lol)
En gros j'envoi des fichiers binaires sur un serveur java, à partir d'un client c++, le fait de recontituer les fichier a partir des octect ne va pas altérer le code?
sinon je sais pas si tu connait orbacus mais en général c'est limité a combient d'octect une requête?
Merci pour ta réponse :king:
Bonjour,
Je recherche également à transférer un fichier en CORBA. Avez-vous un exemple de code source qui montre comment transférer un fichier ?
Merci d evotre aide.
Un fichier n'est qu'une suite d'octets (quelque soit le type du fichier).Citation:
...le fait de recontituer les fichier a partir des octect ne va pas altérer le code?
Si tu ré-écrits tout les octets d'un fichier, dans le même ordre et sans erreur, dans un fichier vide, tu obtiens une copie exacte du fichier d'origine (sauf pour les attributs read/write/execute du fichier).
ATTENTION: une copie exacte ne signifie pas que le fichier est exploitable de la même manière si l'on change de platforme ! (e.g. transfert de Windows à Linux)
En Java, un java.io.FileOutputStream fait l'affaire:Citation:
...mais comment le reconstituer?
En C++, il faut utiliser les std::ostream (cf. http://cpp.developpez.com/faq/cpp/?page=fichiers)Code:
1
2
3
4 java.io.FileOutputStream fos = new java.io.FileOutputStream(new java.io.File("new_file")); fos.write(myOctetBuffer); fos.close();
Non, je ne sais pas.Citation:
sinon je sais pas si tu connait orbacus mais en général c'est limité a combient d'octect une requête?