[Thread/Socket] Serveur et client à la fois

Serveur et client à la fois [Thread/Socket] - Java - Programmation

Marsh Posté le 01-12-2007 à 23:17:12    

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. :(

Reply

Marsh Posté le 01-12-2007 à 23:17:12   

Reply

Marsh Posté le 17-12-2007 à 21:13:33    

Bonjour,
Tu fais un thread qui lit en continu ce que l'autre Peer t'envoie  ?  
Pourquoi mets-tu l'envoi du message dans le Thread?  
On doit pouvoir envoyer un message quand on veut non?  
L'envoi de message ne doit pas se situer dans un thread ou enfin je n'en vois pas l'utilité?


---------------
[topic des lieux abandonnés] | "Sur HFR chacun a raison et les autres sont des cons"
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed