Bonjour,
Je suis actuellement sur un projet de P2P, où chaque programme lancé sert à la fois de client et serveur.
Donc j'essaie de faire en sorte que lors du lancement, l'instance soit constamment en écoute, et puisse en même temps envoyer un message à une autre instance en écoute.
Je lance le Peer1, il est en écoute. Je lance le Peer2, il est aussi en écoute, et je peux faire communiquer les 2 Peers une 1ère fois.
Le problème, c'est que le programme 1, après avoir envoyé un message et reçu la réponse, reste en écoute et ne peut plus envoyer de message tant qu'il n'en a pas reçu, du Peer2.
Voici à peu près la forme de l'algo :
ServerSocket socketAccueil = new ServerSocket(port d´écoute)
while(true) {
Socket clientSocket = new Socket(port d´écoute du 2nd peer)
//Thread d´écoute
new Ecoute(socketAccueil.accept());
//algo d'envoi de message
}
Après avoir envoyé un 1er message, le Peer reste "bloqué" sur l'écoute, et attends de recevoir un message avant de pouvoir passer à l'algo d'envoi.
Ce que je voudrais, c'est justement supprimer cette attente.
Merci de votre aide, je suis un peu perdu.