Bonjour,

Dans le cadre du développement d'une app mobile client-serveur utilisant DataSnap en REST, j'ai un petit souci de timeout non paramétrable :
lorsque le serveur est inaccessible mais que l'IP est bien trouvée (par exemple le port est pas le bon), l'appli freeze pendant 60 secondes avant de déclencher l'exception.

Le composant utilisé est TDSRestConnection (créé par le wizard DataSnap).

J'ai bien trouvé deux paramètres de timeout, mais ils sont sans effet dans ce cas là :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
DSRestConnection1.HTTP.ConnectTimeout := 5000;
DSRestConnection1.HTTP.ReadTimeout := 5000;

Et le déclenchement de l'envoi du JSON à une fonction du serveur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ClientModule.ServerMethods1Client.MyFunction(...);
Je voudrais pouvoir interrompre au bout de 5 secondes pour dire "Problème de connexion avec le serveur."

J'ai essayé de mettre dans un Thread, pour calculer de l'extérieur depuis combien de temps la connexion est tentée, mais je ne sais pas comment stopper l'action du DSRestConnection (car j'ai besoin de le récupérer pour que l'utilisateur retente une nouvelle connexion sans attendre la fin de la première tentative).

En revanche si l'IP n'est pas du tout trouvée, ou qu'il n'y a pas de connexion réseau du tout, ça se déclenche rapidement, pas de souci.

Une piste ? Merci.