Bonjour,
J'ai une question concernant la communication client/server.
Je place le contexte, un collegue viens me voir et dit: J'ai un client et un server (original donc).
Le client fait une demande au server. Celui-ci peut mettre juska 20 secondes pour traiter le message et le renvoyer.
Le client lui se met en sleep qq temps, verifie le inputstream, si il a rien dedan, il se remet en sleep qq temps (et pas en slip ), sinon il traite le message de retour, et ainsi de suite...
Le but du sleep apparement est d'economiser des ressources CPU en attendant le retour du message. Il avait fait une boucle while pour attendre le retour qui consommait trop...
La question est de savoir si le message du serveur arrive pendant que le client dort, est ce que ce message va attendre dans le tuyau juska ce que le client le lise, ou vat-il finir par se perdre...
De mon point de vue, je pensai plutot que la methode read() mettait le thread en attente juska ce que qq chose arrive, sans avoir besoin d'ecrire tout ca... (comme .accept())
Merci pour votre avis.
Partager