Bonjour,

J'ai mis en place un Web Socket en me basant sur ce code :

http://code.google.com/p/phpwebsocke...ket/server.php

Il fonction très bien, j'arrive à échangé avec depuis mon Client JS.

Cependant j'aimerais pouvoir échangé avec depuis mon server en PHP.

J'ai trouvé un debut de solution sur ce topic:

http://stackoverflow.com/questions/5...ally-using-php

voici le code du coté de mon server PHP qui va interroger le WebSocket.
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
 
                $host = 'localhost';  //where is the websocket server
		$port = 9876;
		$local = "http://localhost/";  //url where this script run
 
 
		$res = array('type' => 'alert', 'action' => "add", 'param'=> array( 'id'=> '2'));
		$data = json_encode($res) ;
 
		$head = "GET / HTTP/1.1"."\r\n".
				"Upgrade: WebSocket"."\r\n".
				"Connection: Upgrade"."\r\n".
                                "Origin: $local"."\r\n".
                                "Sec-WebSocket-Key: asdasdaas76da7sd6asd6as7d"."\r\n". //TODO Key unique
                                "Host: $host"."\r\n".
                                "Content-Length: ".strlen($data)."\r\n"."\r\n";
 
		//WebSocket handshake
		$sock = fsockopen($host, $port, $errno, $errstr, 2);
 
 
		fwrite($sock, $head ) or die('error:'.$errno.':'.$errstr);
 
		$headers = fread($sock, 2000);
 
		fwrite($sock, "\x00$data\xff" ) or die('error:'.$errno.':'.$errstr);
 
		$wsdata = fread($sock, 2000);  //receives the data included in the websocket package "\x00DATA\xff"
		fclose($sock);
Mais il reste un problème, apparement le mask n'est correct dans le cote ci dessus.
Le server WebSocket reçoit bien les données mais la function unmask n'arrive pas à les récupérer...

Quelqu'un voit ce qui cloche dans mon code ?
Comment générer un mask correct ?

Je me demande même si je m'y prend correctement pour interrger mon WebSocket en PHP.

Merci pour votre temps.

Bonne journée