Bonjour,

Je fais des essais avec les websockets et tous les exemples m'invitent à entrer ce type de script côté client :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<script type="text/javascript">
var host = "ws://localhost:8080/JSFWebSockets/notification";
var wSocket = new WebSocket(host);
var browserSupport = ("WebSocket" in window) ? true : false;
// called body onLoad()
function initializeReception()
{
if (browserSupport)
{
wSocket.onopen = function()
{
//alert(" Web Socket is connected, sending data");
wSocket.send("ping");
};
}
else
{
// The browser doesn't support WebSocket
alert("WebSocket is NOT supported by your Browser!");
}
}
// called when a message is received
wSocket.onmessage = function(event)
{
var received_msg = event.data;
document.getElementById('headerForm:serverMsg').value = received_msg;
};
// called when socket closes
wSocket.onclose = function()
{
// websocket is closed.
//alert("Connection is closed...");
};
</script>
ou quand même plus simplement ceci (lu dans ce lien) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<script>
	var ws = new WebSocket("#{config.registerSocket}");
	var result;
 
	ws.onopen = function(evt) {
		onOpen(evt)
	};
	ws.onmessage = function(evt) {
		onMessage(evt);
	};
 
	function onMessage(evt) {
		$('#resultemail').html(evt.data);
	}
 
	function sendSomething() {
		$('#resultemail').html('Please wait...');
		var email = $('#email').val();
		ws.send(email);
	}
</script>
Et je n'aime pas beaucoup le Javascript.
Quand j'en vois placé dans du JSF 2.x, je me dis qu'on le dévoie.
JSF 2.2 n'était-il pas supposé supporter les websockets ? Il me suis persuadé que j'aurais du trouver autre chose que cela pour lui faire émettre et recevoir des données.

En particulier, je vais avoir n méthode sendXXX() : une par élément (ou par série d'éléments) dans la page qui ont un motif d'expédier quelque-chose à un instant donné, en adressant des sockets différentes. Mais une seule méthode onMessage() qui elle va grossir, grossir, imaginez par exemple qu'on peut me répondre pour :
- valider un l'e-mail d'un simple message directement formaté en HTML comme dans cet exemple,
- ou avec l'image de la voiture que je veux regarder,
- ou avec une structure de données qui me valide trois éléments de ma page à la fois en me passant des triplets (code de champs, sévérité, texte d'anomalie).
Ça va être la pagaille, non ?

Parser evt.data va se révéler sauvage j'en ai peur : comment pour détecter qui a répondu à qui ? Grâce à un protocole en mousse que je ferai maison ?

C'est moi qui fait ma diva et qui me choque pour rien ?
Merci !

Grunt.