[gull] JavaScript et SlideShows

Daniel Cordey dc at mjt.ch
Mon Oct 3 15:23:33 CEST 2011


On Mon, 3 Oct 2011 14:02:07 +0200 - Félix Hauri <felix at f-hauri.ch>
wrote:

> Mais là, ``plus facile'', je n'en suis pas sûr:

Soyons correcte, meme si PHP a des defauts, il n'y a aucun doute qu'il
est le mode/langage le mieux supporte/repandu chez les hebergeurs. On
peut ne pas aimer mais c'est un fait a mon avis incontestable

> Je ne crois pas que ce soit
> possible en PHP, ou du moins pas ``facilement''.

Oh la... PHP est un vrai langage de programmation... il est en tout cas
plus adapate a traiter de multiples sockets et des threads que certains
langages de scripting que je ne nommerai pas... :-)

> Si je sais gérer les sockets unix en PHP, je ne sais pas faire un
> veritable serveur (avec accès concurrents, via ``select'', pas encore
> implémentés dans la version perl actuelle, mais en prévision pour une
> très prochaine version).

http://php.net/manual/en/function.socket-select.php... Franchement,
c'est le premiere lien obtenu en tapant "php select socket" dans
google :-)

> Le but sera de gérer *tous* les sockets en mode non-bloquant et là,
> je doute que PHP me permette de le faire.

Aie... Bien au contraire... j'ai fait ca il y a des annees en PHP et je
doute que l'on ait enleve la fonctionalite depuis :-) PHP est un
langage de programmation interprete dont le but etait de rendre les
choses plus accessibles (au niveau logistique) que le C/C++. PHP a donc
acces a quasi toutes les librairies de C ! Il est donc facile de
transposer des codes C en PHP... 

Cette fonctionalite est aussi facile a mettre en oeuvre en C et en
Python. En Java... c'est (comme dab) un peu plus lourd et ile est
recommande d'utiliser les 'selector', plutot que le classique select()
de java.io; d'ailleurs il est aussi recommande, depuis 2002,
d'abandonner java.io au profit de java.nio... En Python, il y a aussi un
module
'asyncore' (http://docs.python.org/py3k/library/asyncore.html?highlight=asyncore#asyncore)
qui se rapproche des selector en java, tout en etant beaucoup plus
facile a mettre en oeuvre. Par curiosite, et ne pratiquant plus PHP
depuis fort longtemps, j'ai quand meme trouve ceci sur le net (sans
effort... encore le premier lien de 'php socket selector') :

http://thethoughtlab.blogspot.com/2007/04/non-blocking-io-with-php-mio.html

Je n'aime pas non-plus PHP, mais c'est neanmoins un langage
bien adapte a traiter ce genre de probleme.

Il est par contre evident que vouloir traiter des
'concurent/non-blocking io' ou des threads avec des langage de
scripting classiques est clairement... 'overkilling'. Sans compter que
l'absence de 'try/catch/except' pour le traitement des exceptions doit
rendre le code particulierement difficile a lire et a maintenir. Or, ce
genre de traitement est indiscociable des sockets et des non-blocking
io.

dc






More information about the gull mailing list