WebSocket API et serveur php
Bonjour à tous,
Alors voilà en cherchant une méthode alternative à node.js, je tombe bien évidement sur une partie de php que j'avais aperçu mais jamais utilisé, les sockets.
J'ai donc regardé un peu sur notre ami Google, et ait trouvé diverses sources et tuto me permettant d'ouvrir des sockets, et donc de créer des serveurs sur mon local et mon dédié avec des ports précis en PHP, ainsi de pouvoir les utiliser via le "Web Socket API" en cours de standardisation par le W3C.
Très bien fait, le premier que j'ai réussi à mettre en place :
http://html5professor.com/tutoriels-7-11-21.html
Un peu de doc,
http://php.net/manual/fr/ref.sockets.php
http://php.net/manual/fr/sockets.examples.php
me menant vers https://github.com/Devristo/phpws/blob/master/README.md
mais aussi vers :
http://php.net/manual/fr/ref.stream.php
à ce niveau je m’aperçois comme je l'imaginais que l'on peut passer par udp et non par TCP non plus par l'extension SOCKET
http://www.unixguide.net/network/socketfaq/5.1.shtml
http://www.openrpg.fr/tutoriel/94-comment-utiliser-un-systeme-de-websocket
http://stephaneey.developpez.com/tutoriel/php/sockets/#L3
et les deux dernier ( non exhaustif ), qui me rassure quand je me pose des questions sur les "encodages" choisis par les exemples cité plus haut, qui en fait doit être une question tout simplement de norme dans le temps.
http://stackoverflow.com/questions/1...ith-php-server
http://en.wikipedia.org/wiki/WebSocket
Jusque-là tout va bien me dirait vous, j'ai réussi à me faire une petite idée de ce qu'est un socket, mais j'avoue ne pas bien comprendre ce qui se passe dans le tuyau, et comment il serait optimum dans une version minimal de faire marcher tout ça. Pour être un peu plus précis ma première question concerne (dans l'exemple rcf et Wikipédia) :
Code:
1 2 3 4 5 6 7 8
| GET /mychat HTTP/1.1
Host: server.example.com
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw==
Sec-WebSocket-Protocol: chat
Sec-WebSocket-Version: 13
Origin: http://example.com |
Server response:
Code:
1 2 3 4 5 6
|
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: HSmrc0sMlYUkAGmm5OPpG2HaGWk=
Sec-WebSocket-Protocol: chat |
A quoi sert réellement qui ? et comment bien les utiliser en vue éventuel d'optimiser la sécurité du service?
Deuxièmement : extension SOCKET, Fonctions sur les flux est-ce que l'un vaut mieux que l'autre, ou est-ce tout simplement totalement différent?
Troisièmement : y a-t-il une bonne pratique à appliquer pour la gestion de la création des serveurs via les sockets?
J’espère sincèrement que ce post aura un minimum de succès et de réponse, et vous remercie d'avance de vos commentaires.