Bonjour,
J'ai un serveur et plusieurs clients qui communiquent par sockets. La méthode d'implémentation est la méthode 1 thread + select.
Mon problème est le suivant:
- Il y a des cas où le serveur doit émettre un message à un client et celui-ci doit lui répondre avec un ACK. Cependant, la réponse peut ne pas se faire immédiatement, selon le traitement qui est en cours côté client. Mais le serveur ne peut pas se permettre d'attendre la réponse du client, car étant donné qu'il s'agit d'une implémentation 1 Thread + select, cela bloquerait toutes les communications avec les autres clients. Je cherche donc le meilleur moyen d'attendre une réponse de façon asynchrone côté serveur, et de gérer un timeout en cas de non-réponse. Et ce, pour tous les clients connectés, ce qui implique (ou pas) un timer pour chaque message émis aux clients.
En bricolant un peu, je pense qu'il y a plusieurs méthodes, mais ayant peu d'expériences, je me demandais si qqn d'entre vous aurait déjà géré un tel cas.
Julien.
Partager