EN CONSTTRUCCIÓN ...
<fw:socket> es un componente UI que abre una conexión push basada en websocket unidireccional (de servidor a cliente) en el lado del cliente a la que se puede acceder desde el lado del servidor a través de la interfaz PushContext inyectada mediante la anotación @Push.
Configuración
Primero hay que activar los websockets mediante el siguiente parámetro de contexto booleano en web.xml:
<context-param>
<param-name>es.um.atica.fundeweb.SOCKET_ENDPOINT_ENABLED</param-name>
<param-value>true</param-value>
</context-param>
Lo que registrara un SocketEndpoint en el servidor.
Utilización (cliente)
Declare la etiqueta <fw:socket> en la vista (página) con al menos un nombre de canal (channel) y una función JavaScript llamada onmessage. El nombre del canal no puede ser una expresión EL y solo puede contener caracteres alfanuméricos, guiones, guiones bajos y puntos. Aquí hay un ejemplo que hace referencia a una función de escucha de JavaScript existente (¡no incluya los paréntesis!).
<fw:socket channel="someChannel" onmessage="socketListener" />
function socketListener(message, channel, event) {
console.log(message);
}
También se puede añadir la función JavaScript en el propio componente:
<fw:socket channel="someChannel" onmessage="function(message) { console.log(message); }" />