Long polling:http://es.wikipedia.org/wiki/Tecnolo...h#Long_polling
Polling:http://es.wikipedia.org/wiki/Polling
El chat constará de 4 archivos:
index.html
Código HTML:
<html><head><script type="text/javascript"> nombre = prompt("Introduce tu nombre"); function xhr(){ if(window.XMLHttpRequest){ return new XMLHttpRequest(); } else if(window.ActiveXObject){ return new ActiveXObject("Microsoft.XMLHTTP"); } } function mostrar(){ var peticion = xhr(); peticion.onreadystatechange = function () { if(peticion.readyState == 4){ document.getElementById('cont').innerHTML += "<br/>" + peticion.responseText; setTimeout("mostrar()",1); } } peticion.open("POST","index.php",true); peticion.send(null); } function crearquery(){ var texto = document.getElementsByTagName('textarea')[0].value; var salida = "value=" + encodeURIComponent(texto) + "&nom=" + encodeURIComponent(nombre); return salida; } function cambia(){ var peticion = xhr(); peticion.open("POST","introducir.php",true); peticion.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); var query = crearquery(); peticion.send(query); } window.onload = mostrar; </script> </head><body><textarea></textarea><button onclick="cambia();">Enviar</button><div id="cont"></div></body></html>
Código PHP:
<?php
set_time_limit(0);
$fpa = fopen("content.txt","r");
$fpa = fgets($fpa);
while(1){
$fp = fopen("content.txt","r");
$fp = fgets($fp);
if($fp != $fpa){
echo $fp;
break;
}
sleep(1);
}
?>
Código PHP:
<?php
$fp = fopen("content.txt","w");
$valor = $_POST['value'];
$nombre = $_POST['nom'];
$valor = "<b>".$nombre."</b> : ".$valor;
fwrite($fp,$valor);
?>
Próximamente intentaré explicar su funcionamiento, tengo un poco de prisas