ramroum1986
Messages postés32Date d'inscriptionlundi 24 décembre 2007StatutMembreDernière intervention11 février 2011
-
17 juin 2009 à 14:43
jihen1 -
16 nov. 2012 à 11:19
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Bonjours svp juste une question concernant ce code la répertoire que le serveur va afficher son contenu commun vous l'avez indiquer le chemin.Merci d'avance
lamzali
Messages postés1Date d'inscriptionsamedi 24 octobre 2009StatutMembreDernière intervention24 octobre 2009 24 oct. 2009 à 15:06
merci continuer comme ça mon gas
cs_yvesyves
Messages postés561Date d'inscriptionsamedi 10 janvier 2004StatutMembreDernière intervention11 octobre 2010 29 juil. 2009 à 22:03
Bien vu ;) Je te remercie
Kotomine
Messages postés112Date d'inscriptionlundi 29 juin 2009StatutMembreDernière intervention 5 novembre 2009 28 juil. 2009 à 15:09
Fais attention tout de même, il y a un danger de concurrence dans on programme:
Si un client A se déconnecte (on suppose qu'il était connecté ) a un instant t, et qu'un client B
se connecte *au même moment*, que va t-il se passer ?
Imaginons que ton vectSocket soit comme il suit : [random clients] [client A]
*Dans le thread ListenServerSocket, on effectue vectSocket.add(B):
[randomclients] [client A] [client B]
On lance le client B avec le parametre n=2 ( vectSocket.getSize() -1 )
* Dans le thread du client A, on se déconnecte
[randomclients][client B]
* Imaginons qu'un client C se connecte à cet instant
[randomclients][client B] [client C]
* Dans le client B, on récupere avec l'instruction "s = vectSocket.get(n);" le socket 2, c'est à dire ... celui du client C !!!
C'est un scénario possible !
Je te conseille de te renseigner sur les mutex java (ou plutôt les synchronized)
Une autre solution consiste à passer dans ton ActionSocket le socket lui-même, et non un identifiant.
cs_yvesyves
Messages postés561Date d'inscriptionsamedi 10 janvier 2004StatutMembreDernière intervention11 octobre 2010 26 juin 2009 à 18:03
Bien vu pour le bin.
C'est vrai que j'ai mis aucun commentaire, j'en suis désolé, j'en mettrai à l'avenir :s.
Merci en tt cas ;)
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020371 26 juin 2009 à 16:31
Deux remarques : si tu ajoutais des commentaires, de la javadoc, vraiment beaucoup parce que comme ca, je ne peux pas le lire. Je pense que tu ne te rends pas compte que le programme est très complexe à comprendre sans commentaire.
Et quand tu postes une source, pas besoin du dossier bin, les classes java suffisents.
7/10.
Bonne journée
cs_yvesyves
Messages postés561Date d'inscriptionsamedi 10 janvier 2004StatutMembreDernière intervention11 octobre 2010 25 juin 2009 à 00:21
En l'exécutant dans eclipse ou avec javac.
isimsiene
Messages postés3Date d'inscriptionlundi 2 février 2009StatutMembreDernière intervention24 janvier 2012 22 juin 2009 à 22:40
merci pour votre code mais comment peut on le terster
ramroum1986
Messages postés32Date d'inscriptionlundi 24 décembre 2007StatutMembreDernière intervention11 février 2011 17 juin 2009 à 14:43
mercccccccccccccccccccccccci mon ami ; gooooooooooooooooooooooooooooooooood
16 nov. 2012 à 11:19
24 oct. 2009 à 15:06
29 juil. 2009 à 22:03
28 juil. 2009 à 15:09
Si un client A se déconnecte (on suppose qu'il était connecté ) a un instant t, et qu'un client B
se connecte *au même moment*, que va t-il se passer ?
Imaginons que ton vectSocket soit comme il suit : [random clients] [client A]
*Dans le thread ListenServerSocket, on effectue vectSocket.add(B):
[randomclients] [client A] [client B]
On lance le client B avec le parametre n=2 ( vectSocket.getSize() -1 )
* Dans le thread du client A, on se déconnecte
[randomclients][client B]
* Imaginons qu'un client C se connecte à cet instant
[randomclients][client B] [client C]
* Dans le client B, on récupere avec l'instruction "s = vectSocket.get(n);" le socket 2, c'est à dire ... celui du client C !!!
C'est un scénario possible !
Je te conseille de te renseigner sur les mutex java (ou plutôt les synchronized)
Une autre solution consiste à passer dans ton ActionSocket le socket lui-même, et non un identifiant.
26 juin 2009 à 18:03
C'est vrai que j'ai mis aucun commentaire, j'en suis désolé, j'en mettrai à l'avenir :s.
Merci en tt cas ;)
26 juin 2009 à 16:31
Et quand tu postes une source, pas besoin du dossier bin, les classes java suffisents.
7/10.
Bonne journée
25 juin 2009 à 00:21
22 juin 2009 à 22:40
17 juin 2009 à 14:43