Documentos de Académico
Documentos de Profesional
Documentos de Cultura
13.1 Introduccin
Internet se ha creado en gran parte a partir del llamado paradigma solicitud/respuesta
de HTTP. Un cliente carga una pgina web, se cierra la conexin y no ocurre nada
hasta que el usuario hace clic en un enlace o enva un formulario.
Hace ya algn tiempo que existen tecnologas que permiten al servidor enviar datos al
cliente en el mismo momento que detecta que hay nuevos datos disponibles. Se
conocen como "Push" o "Comet". Uno de los trucos ms comunes para crear la
ilusin de una conexin iniciada por el servidor se denomina Long Polling. Con el
Long Polling, el cliente abre una conexin HTTP con el servidor, el cual la mantiene
abierta hasta que se enve una respuesta. Cada vez que el servidor tenga datos nuevos,
enviar la respuesta. El Long Polling y otras tcnicas funcionan bastante bien y de
hecho ha sido utilizadas en muchas aplicaciones como el chat de Gmail.
Si disponemos de un socket abierto, el servidor puede enviar datos a todos los clientes
conectados a ese socket, sin tener que estar constantemente procesando peticiones de
Ajax. La ventaja en cuanto a rendimiento y escalabilidad es bastante evidente al
utilizar WebSockets.
Para abrir una conexin WebSocket, slo tenemos que ejecutar el constructor
WebSocket, que toma como parmetro la URL del socket a abrir. Hay que tener en
cuenta que el protocolo a utilizar es ws://:
socket.onmessage = function(event) {
if (data.action == 'joined') {
initiliseChat();
} else {
showNewMessage(data.who, data.text);
}});
El API incorpora adems dos eventos que se disparan cuando el socket se abre y est
listo, y cuando ste se va a cerrar:
socket.onopen = function(e){ log("Welcome - status
"+this.readyState); };
Ejercicio 15