pas de synchro entre le serveur et les clients [Java] - Java - Programmation
Marsh Posté le 02-06-2006 à 11:36:31
Merci pour ton aide
J'ai bien compris la partie concernant "synchronized", mais j'ai du mal concernant wait/notify.
Ici les threads ne sont pas sur la même machine, donc je ne vois pas comment ils peuvent notifier leur dispo pour l'échange sans échanger des données avant
Ou alors c'est seulement valable pour les threads du serveur
Marsh Posté le 02-06-2006 à 19:56:54
Qu'est ce qui ne va pas dans ce code
Partie client :
Code :
|
Partie serveur :
Code :
|
La méthode sendAll :
Code :
|
Désolé pour la longueur
Marsh Posté le 03-06-2006 à 11:01:58
je ne comprends pas pkoi si ton client et ton serveur son en java, pkoi tu n'utilise pas le mécanisme de sérialisation d'objet pour échanger tes informations. ça te permettrait de sérialiser des objets complets en un seul coup déjà... Je crois qu'ici la méthode est déjà mal choisie
Marsh Posté le 03-06-2006 à 11:16:14
moi23372 a écrit : je ne comprends pas pkoi si ton client et ton serveur son en java, pkoi tu n'utilise pas le mécanisme de sérialisation d'objet pour échanger tes informations. ça te permettrait de sérialiser des objets complets en un seul coup déjà... Je crois qu'ici la méthode est déjà mal choisie |
En fait au début j'étais parti sur cette méthode, mais j'avais beaucoup de problèmes avec :
Les tableaux arrivaient vide, et à partir de 2 clients les échanges s'arrêtaient
Si vous connaissez des tutoriaux ou des exemples de code pour des exemples de réseau avec plusieurs clients et des objets à envoyer je suis preneur, parce que pour l'instant je crois que je ne maitrise pas certaines subtilités de java
Marsh Posté le 03-06-2006 à 12:00:25
Atropos a écrit : En fait au début j'étais parti sur cette méthode, mais j'avais beaucoup de problèmes avec : |
Tu utilisais bien des Object*Stream pour stransférer tes objets?
Marsh Posté le 03-06-2006 à 12:39:11
masklinn a écrit : Tu utilisais bien des Object*Stream pour stransférer tes objets? |
Oui ObjectInputStream et ObjectOutputStream
Si j'envoyais avec la méthode WriteObject() toutes les variables étaient vides à l'arrivée.
Avec WriteUnshared() il n'y avait que les tableaux de vides.
Marsh Posté le 03-06-2006 à 23:48:57
Tu aurais un lien qui expliquerait le principe? Je ne connais pas du tout, et les tutoriaux que j'ai trouvés ne montrent pas grand chose
Marsh Posté le 04-06-2006 à 15:08:18
T'es sur de ce que tu dit la ?
http://www.google.fr/search?q=Java [...] r:official
En gros, au lieu de faire du Message Passing n'importe comment, utiliser le principe d'appel de methodes sur des objets distants, t'a plus a te prendre la tête avec les buffers etc ...
Les fundamentals : http://developer.java.sun.com/deve [...] i/RMI.html
Marsh Posté le 02-06-2006 à 10:47:32
Bonjour,
J'ai (encore ) un petit problème.
Je programme en ce moment un client et son serveur, qui doivent donc s'échanger des informations.
Vu qu'il y a plusieurs variables à échanger, au sein du parcours d'une même boucle il y a plusieurs envois et plusieurs réceptions. Ca marche très bien lorsqu'un seul client est connecté, mais dès le 2è tout est désynchronisé et les variables reçoivent le contenu d'autres variables Bref ça devient le souk.
Je n'ai rien trouvé concernant la synchronisation des échanges en java (toutes mes methodes faisant intervenir ces variables sont bien "synchronized" ) donc si quelqu'un avait des infos sur comment échanger proprement des données avec plusieurs clients...
Merci d'avance