[AJAX] readyState bloque a 1 sur Chrome et pas sur Firefox
Bonjour a toutes ( :aie:) et a tous ;)
Je vous explique mon problème, je fait de l'AJAX asynchrone de tel façont:
- Un code .php qui tourne en boucle (while(true) ) et qui écoute sur une socket ce que lui dis un programme serveur distant. Une fois qu'il l'a lus et traité il l'affiche (echo "message"; ).
- Un code Javascript qui met en place l'AJAX asynchrone et qui boucle toute les secondes pour afficher le résultat.
Le programme php ne se terminant jamais, bien évidament je n'attendrais jamais le readyState 4. Je me contente d'actualisé la réponse lorsqu'il y a eu du changement (au readyState 3).
Sur firefox tout marche nikel, on commence par du readyState 1 puis on passe très vite au readyState 3 et on met a jour la réponse.
Sur Chrome là c'est une autre histoire ... il bloque au readyState 1 sans passé au 3 quand le php a afficher quelquechose. Et le plus troublant c'est que quand j'arrete mon serveur, le php le detecte (socket invalide) et fait un break; qui provoque l'affichage de tous les messages, readyState passant directement à 4. Dans le php aprés chaque echo je fait un flush.
Je ne comprend vraiment pas pourquoi sous Firefox ca marche et pas sous Chrome ... :(
J'espère avoir été clair, si vous avez besoin du code je le posterais.
ps: sous IE ca ne marche pas du tout il me met un message de debug ... mais ça c'est une autre histoire.