Bonjour, je cherche à faire discuter une interface JAVA avec un serveur que j'ai développé en C.
Quand mon interface JAVA envoie une requête à mon serveur C, elle attend une réponse de sa part.
Le serveur C doit faire un certain traitement suivant la requête et retourné la réponse à l'interface JAVA.
Le soucis c'est qu'il peut arriver que mon serveur C ne revoie rien, ce qui fait que mon interface JAVA est toujours en attente de la réponse du serveur C, ce qui me frezze mon interface.
Ce que j'aimerais donc faire est que lorsque je veut récupérer le message de mon serveur C, si la fonction permettant de lire le retour su serveur C prends plus de 2 secondes à s'éxécuter, je l'interrompt. Si elle met moins de 2 seconds, alors pas de soucis, j'aurai la réponse de la part de mon serveur C.
J'ai regardé parmis les classes Threads et Timer, mais je ne voit pas quelque chose qui correspond à mon cas :
- Soit il s'agit d'action se répétant (ce qui n'est pas mon cas)
- Soit Avec la méthode join de Thrad, on va forcément attendre les 2 secondes, alors que cela est juste pour éviter qu'une requête dur trop longtemps.
Pour résumérer mon probléme, on pourrait dire que si au bout de 2 secondes une fonction n'à pas fini de s'éxécuté, je la stoppe. Mais si elle se termine avant les 2 secondes, je récupére son retour.
J'espére avoir été clair. N'hésité pas à me poser des questions si vous ne comprenez pas.
Quand mon interface JAVA envoie une requête à mon serveur C, elle attend une réponse de sa part.
Le serveur C doit faire un certain traitement suivant la requête et retourné la réponse à l'interface JAVA.
Le soucis c'est qu'il peut arriver que mon serveur C ne revoie rien, ce qui fait que mon interface JAVA est toujours en attente de la réponse du serveur C, ce qui me frezze mon interface.
Ce que j'aimerais donc faire est que lorsque je veut récupérer le message de mon serveur C, si la fonction permettant de lire le retour su serveur C prends plus de 2 secondes à s'éxécuter, je l'interrompt. Si elle met moins de 2 seconds, alors pas de soucis, j'aurai la réponse de la part de mon serveur C.
J'ai regardé parmis les classes Threads et Timer, mais je ne voit pas quelque chose qui correspond à mon cas :
- Soit il s'agit d'action se répétant (ce qui n'est pas mon cas)
- Soit Avec la méthode join de Thrad, on va forcément attendre les 2 secondes, alors que cela est juste pour éviter qu'une requête dur trop longtemps.
Pour résumérer mon probléme, on pourrait dire que si au bout de 2 secondes une fonction n'à pas fini de s'éxécuté, je la stoppe. Mais si elle se termine avant les 2 secondes, je récupére son retour.
J'espére avoir été clair. N'hésité pas à me poser des questions si vous ne comprenez pas.