Welcome to Domotique-fibaro

 

Inscrivez-vous maintenant pour accéder à toutes nos fonctionnalités. Une fois inscrit et connecté, vous serez en mesure de contribuer à ce site en soumettant votre propre contenu ou en répondant au contenu existant. Vous serez en mesure de personnaliser votre profil, de recevoir des points de réputation comme une récompense pour la soumission de contenu, tout en communiquant avec d'autres membres via votre boîte de réception privée, et bien plus encore! Ce message sera supprimé une fois que vous vous êtes connecté.

 

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

jjacques68

Comportement du timeout dans les net.HTTPClient ?

Bonjour à tous,

 

Petite question :

 

dans une scène : comment se comporte le timeout des requêtes http de ce type ?

local http = net.HTTPClient({ timeout = 2000 })  
 
http:request("blablabla...", {
   success = function(response) print("success") end,
   error = function(response) print("Error: " ..response) end,
})

Le but serait d'exécuter une fonction si le timeout est atteint.

 

La fonction error n'est pas appelée :( 

La scène plante tout simplement si le timeout est fini.

 

J'ai essayé cela mais sans succès :) :

local http = net.HTTPClient({ timeout = 2000 })  
 
http:request("blablabla...", {
   success = function(response) print("success") end,
   error = function(response) print("Error: " ..response) end,
   timeout = function(response) print("Timeout") end,
})

 

comme toujours, merci d'avance pour vos idées !!!!

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Aucune idée ;-)

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Euh alors là...

0

Partager ce message


Lien à poster
Partager sur d’autres sites

A tout hasard es tu sur que "error" fasse partie d'un des resultat possible de ta request "http" ?

Envoyé via Tapatalk

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Je viens de regarder ton lien (apres avoir crée un compte). Eux ils ecrivent succes = function(status) et error = function(error). Arrives tu a obtenir le " print ("success") " avec ton code ?

Envoyé via Tapatalk

0

Partager ce message


Lien à poster
Partager sur d’autres sites

oui oui tout à fait.

ça fonctionne...

0

Partager ce message


Lien à poster
Partager sur d’autres sites

MINUTE LA !!!!!

... ...

0

Partager ce message


Lien à poster
Partager sur d’autres sites

oh p... le boulet une fois de plus... !!!!

local http = net.HTTPClient({ timeout = 2000 })  
 
http:request("blablabla...", {
   success = function(response) print("success") end,
   error = function(response) print("Error: " ..response) end,
})

ça fonctionne très bien, le timeout est très bien pris en compte par la fonction "error" !!!

 

Mais dans ma scène où est utilisé ce code, j'avais le "E" de "Error" en majuscule !!!

Il faut qu'il soit en minuscule !!!!

 

et la réponse renvoyée par le timeout est l'une de ces 2 :

[DEBUG] 16:53:13: Error: Network is unreachable
[DEBUG] 16:53:15: Error: Operation canceled

donc le code dans la fonction error est exécuté.

 

Bon ben c'est réglé du coup...

 

Désolé pour la perte de temps :rolleyes:

 

et bien je vais modifié le tuto sur le statut de la connexion internet ;) 

1

Partager ce message


Lien à poster
Partager sur d’autres sites

Ah je t'ai pas beaucoup aide sur ce coup la non plus. J'avais pas vu lol

Envoyé de mon Nexus 5X en utilisant Tapatalk

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Bien joue :-)

Envoyé de mon Nexus 5X en utilisant Tapatalk

0

Partager ce message


Lien à poster
Partager sur d’autres sites

GG ;)

Envoyé via Tapatalk

0

Partager ce message


Lien à poster
Partager sur d’autres sites

"opération cancelled" c'est cela !
Bon au moins tu as trouvé tout seul :)

0

Partager ce message


Lien à poster
Partager sur d’autres sites