Poster une réponse à un sujet: solution threading
Attention, ce sujet est un sujet ancien (6583 jours sans réponse)
cauet
Altar
cauet > Bienvenue dans le fabuleu monde l'asynchrone
rfr
Et ? Qui a dit d'utiliser while Man select() sous linux en c/c++ pour les i/o
ou man poll() (ou jacques ...) :
cauet
Pil poil ce que j'ai besoin..
http://www.atelierphp5.com/multi-threading-en-php.html
-->
http://netevil.org/node.php?nid=280
http://www.atelierphp5.com/multi-threading-en-php.html
-->
http://netevil.org/node.php?nid=280
cauet
Effectivement, je vais creuser ca
Merci les zaaaaaaaaamis
Merci les zaaaaaaaaamis
Altar
Et ? Qui a dit d'utiliser while Man select() sous linux en c/c++ pour les i/o
philfr
cauet> Altar a raison. Une rapide recherche (je ne suis pas développeur PHP) me montre que le system call select() est accessible en PHP par socket_select.
Tu envoies donc toutes tes requêtes, chacune sur leur socket, puis tu fais une boucle sur socket_select pour attendre les réponses et les traiter une à une dans l'ordre de leur arrivée...
Tu envoies donc toutes tes requêtes, chacune sur leur socket, puis tu fais une boucle sur socket_select pour attendre les réponses et les traiter une à une dans l'ordre de leur arrivée...
cauet
exemple:
while() {
fsockopen(handle);...
mysql_query(reponse);...
}
tant que la connexion n'est pas terminée, il ne passe pas à la boucle suivante.. je vois mal le while C++ faire ça (meme si je suis totalement nul en C++)
while() {
fsockopen(handle);...
mysql_query(reponse);...
}
tant que la connexion n'est pas terminée, il ne passe pas à la boucle suivante.. je vois mal le while C++ faire ça (meme si je suis totalement nul en C++)
Altar
cauet > Et il est où ton problème ? Un processus mono-threadé peut avoir plusieurs sockets sauf peut-être en php mais en c/c++/python c'est tout à fait possible
cauet
1 socket = 1 envoi
Exemple d'envoi:
<?xml version="1.0" encoding="UTF-8" ?>
<sms>
<login>login</login>
<password>password</password>
<mt>
<msgid>456212879787</msgid>
<contenttype>text</contenttype>
<udh>65283582787687687263</udh>
<content>Perdu pour cette fois</content>
<number>sfr6107129877895462231231</number>
<shortcode>61071</shortcode>
<mcc>208</mcc>
<mnc>01</mnc>
<lastmt>0/1</lastmt>
<wappush>0/1</wappush>
<waptitle>Ringtone</waptitle>
</mt>
</sms>
Une réponse:
<return>
<status>0</status>
<msgid>SMS-MT unique identifier if status = 0 else empty</error>
<error>Description de l’erreur si status = 1</error>
</return>