onreadystatechange == 3

131
Eléphanteau du PHP | 45 Messages

13 févr. 2007, 12:30

Salut
Je me demandais s'il etait interessant pour faire un chat, ou une application en temps reel, de garder un socket http ouvert via xhmlhttprequest plutot que de spammer le serveur de micro requettes avec un intervalle ridicule.

J'ai donc une fonction php simple...
<?
$list=array('salut','tu','va','bien');
foreach($list as $msg){echo $msg;flush();usleep(750000);}
?>
Appellé via ajax

Code : Tout sélectionner

function http_lnk(method,url){ var lnk; lnk=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP"); if(!lnk) return; lnk.open(method,url+"?"+Math.random()); //mis en cache sinon lnk.onreadystatechange = function(){ alert(lnk.readyState); alert(lnk.responseText); } lnk.send(null); } http_lnk("get","serv.php");
Le résultat est Nickel sous Firefox 2 ...
Le probleme c'est qu'IE ne declenche onreadystatechange que lorsqu'il y a un "change" du "state", quand Firefox se contente de considerer un interval de temps.

Ma question : est il possible d'acceder aux headers, ou au responseText/responseXML quand le readystate est à 3 sous IE 7 ?

131
Eléphanteau du PHP | 45 Messages

13 févr. 2007, 13:18

plein de peanuts à qui m'aide là dessus.. :wink:

ViPHP
ViPHP | 1961 Messages

13 févr. 2007, 15:55

Bonjour,

Je ne sais pas si dans sa version 7 IE reconnait le "readystate == 3", en tout cas dans les versions précédentes il ne le reconnaissait pas.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

131
Eléphanteau du PHP | 45 Messages

13 févr. 2007, 17:52

Bonjour,

Je ne sais pas si dans sa version 7 IE reconnait le "readystate == 3", en tout cas dans les versions précédentes il ne le reconnaissait pas.
Il la reconnait, mais l'evenement n'est declenché qu'une fois.
( le readystate ne passe qu'une seule fois de 2 à 3 )

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

13 févr. 2007, 18:41

Je me demandais s'il etait interessant pour faire un chat, ou une application en temps reel, de garder un socket http ouvert via xhmlhttprequest plutot que de spammer le serveur de micro requettes avec un intervalle ridicule.
Utiliser le cache sinon ?
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

131
Eléphanteau du PHP | 45 Messages

13 févr. 2007, 22:55

Je me demandais s'il etait interessant pour faire un chat, ou une application en temps reel, de garder un socket http ouvert via xhmlhttprequest plutot que de spammer le serveur de micro requettes avec un intervalle ridicule.
Utiliser le cache sinon ?
Comment ca ?