J'envoie un HTTP POST request
de mon application C++ à un script PHP sur un serveur. En utilisant HttpOpenRequest/HttpSendRequest/etc
. Actuellement, il attend que le script PHP finisse d'être exécuté avant les retours HttpSendRequest
. Y at-il de toute façon pour changer cette fonctionnalité?HttpSendRequest n'attend pas la fin du script PHP
J'envoie les données juste avant la fermeture de mon application C++, donc je ne veux pas qu'il reste là pendant plus de 10 secondes en attendant que le script PHP finisse d'être exécuté. Je veux juste qu'il envoie les données, puis fermez l'application. Une chose que je pensais était d'avoir le script PHP spawn un autre script PHP dans un processus différent en utilisant la commande exec, de sorte que le premier script revenait tout de suite. Cependant, j'envoie beaucoup de données avec ma requête HTTP POST, donc j'aurais besoin de transmettre ces données au processus engendré.
Idéalement, je veux juste un drapeau à définir pour dire HttpSendRequest
de ne pas attendre. Je ne pouvais pas voir quelque chose d'évident dans les docs, mais peut avoir raté quelque chose.
Le problème est que c'est le HttpSendRequest qui bloque. Donc, je ne peux pas fermer la connexion jusqu'à ce que cette fonction retourne. – Dan
Mais il bloque seulement jusqu'à ce qu'il ait reçu la réponse, non? http://www.php.net/manual/fr/features.connection-handling.php#71172 – rik
Aha! Le code du lien que vous avez posté correspond à ce que je voulais et à l'appel de ignore_user_abort(). L'en-tête ("Connection: close") plus les fonctions ob_ * permettent de fermer la connexion plus tôt. Cela pourrait valoir la peine de mettre à jour votre message avec cette info au cas où quelqu'un d'autre a ce problème. Merci :-) – Dan