SAVE FILE MANAGER - ENVOYER DES DONNÉES SUR UN SERVEUR EN JAVA

kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 - 17 nov. 2009 à 12:09
maylo85 Messages postés 5 Date d'inscription jeudi 28 avril 2011 Statut Membre Dernière intervention 11 mai 2012 - 11 mai 2012 à 08:34
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/50856-save-file-manager-envoyer-des-donnees-sur-un-serveur-en-java

maylo85 Messages postés 5 Date d'inscription jeudi 28 avril 2011 Statut Membre Dernière intervention 11 mai 2012
11 mai 2012 à 08:34
non ca marche maintenant avec les deux.. je crois qu'il s'agit d'un problème de compilation dé le début, ta aucune erreurs chapeau
maylo85 Messages postés 5 Date d'inscription jeudi 28 avril 2011 Statut Membre Dernière intervention 11 mai 2012
11 mai 2012 à 08:24
c bon je l'avais trouvé, il faut changé DIRECTORIES_ONLY par FILES_AND_DIRECTORIES dans le JFilechooser de la méthode recevoir et ca marche très bien
maylo85 Messages postés 5 Date d'inscription jeudi 28 avril 2011 Statut Membre Dernière intervention 11 mai 2012
11 mai 2012 à 01:49
j'ai testé l'application et elle marche très bien meme avec 2 machine mais ta un seul problème c'est dans la classe recevoir l'application fait l'envoi avec la compression et la création d'un dossier avec le nom de ta session mais elle peut pas faire la réception je crois que le JFilechooser ne marche pas l'application fait la déconnexion avant quel affiche la fenetre de JFilechooser, en tout cas merci ton travail ma bien aidé pour comprendre plus le java. en+ t'avais que 17 ans quand ta réalisé ca, bravo
maylo85 Messages postés 5 Date d'inscription jeudi 28 avril 2011 Statut Membre Dernière intervention 11 mai 2012
9 mai 2012 à 22:19
Merci beaucoup pour l'aide c'est très gentil de ta part
roddehugo Messages postés 70 Date d'inscription samedi 10 mai 2008 Statut Membre Dernière intervention 29 octobre 2009
6 mai 2012 à 21:17
Salut, merci pour le compliment.
J'avoue que ça fait un petit moment que j'ai codé ça mais si mes souvenirs sont bon et re-regardant le code vite fait.
En fait il faut distinguer deux programmes. Un serveur et un client. Le serveur (class Serveur) doit tourner en continue et écoute un certain port sur le réseau local, il faut modifier ou paramétrer l'adresse et le port pour l'un et l'autre. Je ne sais plus si j'avais ajouté la modification depuis l'interface. Sinon il faut modifier l'adresse et le port directement dans le code et recompiler. Pour tester les deux programmes sur ton ordi tu dois mettre http://localhost dans l'adresse et choisir un port au dessus de 2000 pour être sur qu'il n'est pas déjà utilisé par un autre programme.

Ensuite la classe Serveur, comme je l'ai dit se contente d'afficher une fenêtre de log pour afficher les connections et les fichiers reçues. Il ne faut pas fermer la fenêtre. Sinon ça ferme le programme.
maylo85 Messages postés 5 Date d'inscription jeudi 28 avril 2011 Statut Membre Dernière intervention 11 mai 2012
5 mai 2012 à 02:35
slt, un peu d'aide svp, je suis pas pro en java mais je trouve ton programme trés interresant et je voulé savoir c'est koi l'utilité de la classe serveur et quand l'interface serveur s'affiche et ou pk je ne voi ke l'interface client "fenetre" et j'ai essaié de faire l'execution avec 2 machine mais ca ne marche pas, merci d'avance
roddehugo Messages postés 70 Date d'inscription samedi 10 mai 2008 Statut Membre Dernière intervention 29 octobre 2009
22 nov. 2009 à 09:39
salut,

As-tu essayer avec le .jar ?
Le exe sert pour l'install du .jar ;)
nourhanan Messages postés 26 Date d'inscription samedi 16 décembre 2000 Statut Membre Dernière intervention 21 novembre 2009
21 nov. 2009 à 12:53
salut

j'arrive pas à installer votre application meme si que j'ai renommé les .ex_ en .exe
roddehugo Messages postés 70 Date d'inscription samedi 10 mai 2008 Statut Membre Dernière intervention 29 octobre 2009
17 nov. 2009 à 16:27
Ça marche ;)
Je changerai tout cela bientôt dans une 2ème version.

Merci encore. Bonne fin d'aprem
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
17 nov. 2009 à 15:28
Oui c'est cela, tu ne dois avoir qu'un seul thread (l'EDT) qui manipule les composants graphiques. Si tu as des opérations longues tu les lances par un thread et la mise à jour des composants se met en file d'attente avec la classe SwingUtilities.
roddehugo Messages postés 70 Date d'inscription samedi 10 mai 2008 Statut Membre Dernière intervention 29 octobre 2009
17 nov. 2009 à 14:51
Salut,
Merci pour tes commentaires tout d'abord.

J'ai lu l'article sur le threading et l'EDT en lien. Il y a quelques subtilités que j'ai du mal à saisir.
Mais en bref, il faut que toutes les actions avec les composants Swing le soit dans l'EDT ? Et donc depuis les autres Thread il ne doit pas y en avoir ? Mais je n'ai pas très bien compris la procédure à suivre pour faire ça :)

Pour le reste j'y remédierai dans la version corrigé qui suivra.

Merci
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
17 nov. 2009 à 12:09
C'est pas mal mais il y a 2-3 choses qui me choquent :
- pas de gestion des exceptions sur les flux : les méthodes close() ne sont pas dans des blocs finally
- la mise à jour des logs dans l'IHM ne se fait pas dans l'EDT et il n'y a pas d'utilisation de listener
- la classe serveur qui lance une IHM et la boucle d'attente des connexions en même temps. De mon point de vue, ça devrait séparé et ca te permettrait d'avoir un ActionListener sur la frame pour mettre à jour le TextArea
- côté client, pour l'IHM, il y a le même pb, mise à jour des données sans être dans l'EDT et traitement long dans le même thread

Tu n'es pas dans le cadre d'une application Swing (voir http://gfx.developpez.com/tutoriel/java/swing/swing-threading/ par ex) et tu risques d'avoir des freeze d'IHM
Rejoignez-nous