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.
Mais il reste un problème, apparement le mask n'est correct dans le cote ci dessus.
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);
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








Répondre avec citation
Partager