Envoyer une requête sans attendre sa réponse

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Envoyer une requête sans attendre sa réponse

Re: Envoyer une requête sans attendre sa réponse

par moogli » 05 janv. 2012, 23:51

via des appels a des fonctions "system" pour faire un truc "multi thread"

avec par exemple la fonction exec

@+

Re: Envoyer une requête sans attendre sa réponse

par -mk- » 05 janv. 2012, 23:11

Ô ! C'est exactement ce que je cherchais =D> ! Merci énormément Ryle.
Une dernière chose dans le même sujet ; y a t-il un moyen de lancer plusieurs traitements internes sans attendre la réponse du premier ? On va dire que j'ai une fonction que je dois exécuter dix fois (j'envoie des paramètres différents à chaque fois), et chaque appel prend un certain temps. Existerai t-il un moyen de les lancer les dix sans attendre la réponse des appels précédents ?

Merci encore !

Re: Envoyer une requête sans attendre sa réponse

par Ryle » 05 janv. 2012, 22:56

Il y a différentes possibilités pour lancer des traitements asynchrones en php :
- exec permet d'exécuter des lignes de commande. Si tu ajoutes un & à la fin de la commande que tu exécutes, tu peux la lancer en tâche de fond sans avoir à attendre le résultat.
- fsockopen permet d’initialiser une connexion par socket. Tu peux ensuite poster des données avec fwrite par exemple.
- curl_multi_init permet de lancer plusieurs traitements cURL en parallèle...

Sinon y a aussi ajax si tu veux le faire en javascript :)

Envoyer une requête sans attendre sa réponse

par -mk- » 05 janv. 2012, 22:48

Bonsoir à tous,
Voilà, j'aurais aimer savoir s'il était possible d’exécuter une requête se trouvant dans une URL différente sans attendre sa réponse.
Exemple ; Supposons deux fichiers PHP dans deux serveurs différents. Le premier appel le deuxième mais le deuxième devra effectuer un traitement qui durera plusieurs secondes. Serait-il possible que ce premier fichier appel le deuxième fichier, et dés que la connexion est établie, le premier fichier n'attend plus sa réponse et continue à exécuter le reste du code ?

D'avance merci :) !