Bonjour à tous,

Je viens vous demander quelque renseignement à propos de la programmation concurrente. Je viens de développer un client et un serveur.

Le client a 2 Thread et les deux communique avec le serveur. Le serveur a un thread pour chaque client. Mon problème réside dans le fait que je n'arrive pas à synchroniser le client et le serveur.

Exemple :
- Mon client communique avec le serveur via ces 2 threads parallèles, seulement certaines des requêtes qui doivent être envoyé au serveur ce mélange entre elle et pourtant j'ai mis des synchronized... J'utilise une Thread avec Runnable et un TimerTask sur le client.

Sur le serveur j'ai aussi mis des synchronized sur la méthode qui gère les demande des clients et chaque thread dispose de son propre manager de requete. Le problème provient du client qui n'attends pas la finalité d'une requête. Une requête pour moi c'est :
- une demande
- un ou plusieurs envoie d'objet au serveur
- un ou plusieurs envoie d'objet au client
- un retour du server au client

Voilà je ne sais pas trop ce que vous en pensez. J'attends des idées.

Merci d'avance