|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : avril 2003 Messages : 117 ![]() |
Bonjour
Mon probleme de base etait de simuler un systeme multithread en PHP afin de pouvoir gerer differentes sockets en parallele. Apres quelques recherche, je suis tombe sur ce code : http://netevil.org/blog/2005/may/guru-multiplexing Ce systeme fonctionne, mais le hic, c'est que la fonction 'stream_select' ne fonctionne pas sur les plateformes 64 bits : http://bugs.php.net/bug.php?id=32979 J'ai donc cherche une alternative et j'ai trouve ca : http://www.ibuildings.com/blog/archi...with-CURL.html Curl fonctionne bien, mais j'ai encore un probleme. Dans chaque processus cree, je veux creer une socket qui fonctionnera de maniere independante. Or, toutes les sockets creees font reference a la meme ressource, du coup, il y a des interferences... La librairie Curl possede une fonction 'curl_multi_select' qui serait supposee pouvoir remplacer 'stream_select', mais je ne peux trouver nulle part comment l'utiliser... Bon, merci, si vous etes arrive(e) jusque la Voila si quelqu'un a une idee, un exemple ou une experience a me proposer pour pouvoir creer un multithreading qui fonctionne, merci |
|
|
00
|
|
|
#2 | ||
|
Nouveau Membre du Club
![]() Inscription : avril 2003 Messages : 117 ![]() |
Voici un bout de code pour aider :
Voici le code qui cree les differents threads : Code :
|
||
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : avril 2003 Messages : 117 ![]() |
Bon, apres plusieurs tests, il s'est avere que cURL ne convenait pas. Je pouvais bien effectuer plusieurs connexions / traitement simultanes, mais je ne pouvais pas le faire sur plusieurs sockets.
Donc, je suis revenu a la fonction stream_select de PHP5 : http://fr.php.net/manual/fr/function.stream-select.php Je n'avais d'abord pas retenu cette methode a cause d'un bug de PHP qui bloquait son utilisation sur plateformes 32 bits. Mais le bug a depuis ete corrige pour les version 5.2.3+ de PHP.
__________________
Mon ordinateur ne fait jamais ce que je veux. Il ne fait que ce que je lui demande. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com