Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
websockets_php [2023/06/27 08:43] manuel_jose_moles_canal |
websockets_php [2023/07/05 18:35] (actual) enric_mieza_sanchez no sortien els títols |
||
---|---|---|---|
Línia 2: | Línia 2: | ||
=====Joc online. Apunts.===== | =====Joc online. Apunts.===== | ||
+ | |||
====Video-joc UF4 M7==== | ====Video-joc UF4 M7==== | ||
Ho anirem fent per activitats (etapes) incrementals, | Ho anirem fent per activitats (etapes) incrementals, | ||
Línia 29: | Línia 30: | ||
L' | L' | ||
</ | </ | ||
- | |||
- | \\ | ||
<WRAP todo> | <WRAP todo> | ||
Línia 36: | Línia 35: | ||
</ | </ | ||
+ | |||
+ | A continuació, | ||
+ | |||
+ | --> index.html | ||
+ | <file html websockets/ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | var socket; | ||
+ | function init() { | ||
+ | socket = new WebSocket(" | ||
+ | |||
+ | socket.onopen = function (msg) { | ||
+ | alert(" | ||
+ | }; | ||
+ | socket.onmessage = function (msg) { | ||
+ | alert(" | ||
+ | }; | ||
+ | socket.onclose = function (msg) { | ||
+ | alert(" | ||
+ | }; | ||
+ | } | ||
+ | function send(msg_xat) { | ||
+ | if(msg_xat.length > 0) { | ||
+ | socket.send(msg_xat); | ||
+ | } | ||
+ | } | ||
+ | function quit() { socket.close() } | ||
+ | function reconnect () { quit(); init(); } | ||
+ | </ | ||
+ | <input type=" | ||
+ | <input type=" | ||
+ | <hr> | ||
+ | <input type=" | ||
+ | <input type=" | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | <-- | ||
+ | |||
+ | --> SalaXatServer | ||
+ | <file php websockets/ | ||
+ | <?php | ||
+ | require_once(' | ||
+ | |||
+ | class SalaChatServer extends WebSocketServer { | ||
+ | protected function process($user, | ||
+ | echo 'user sent: ' . $message . PHP_EOL; | ||
+ | foreach ($this-> | ||
+ | if ($currentUser !== $user) | ||
+ | $this-> | ||
+ | } | ||
+ | } | ||
+ | protected function connected($user) | ||
+ | { | ||
+ | echo 'user connected' | ||
+ | } | ||
+ | protected function closed($user) | ||
+ | { | ||
+ | echo 'user disconnected' | ||
+ | } | ||
+ | } | ||
+ | |||
+ | $chatServer = new SalaChatServer(" | ||
+ | |||
+ | try { | ||
+ | $chatServer-> | ||
+ | } catch (Exception $e) { | ||
+ | $chatServer-> | ||
+ | } | ||
+ | </ | ||
+ | <-- | ||
+ | |||
+ | <WRAP todo> | ||
A partir dels fitxers d' | A partir dels fitxers d' | ||
Demani el nom. No ha de permetre la connexió si el nom no està introduït. Si la connexió està establerta, que no permeti modificar el nom. | Demani el nom. No ha de permetre la connexió si el nom no està introduït. Si la connexió està establerta, que no permeti modificar el nom. | ||
Línia 42: | Línia 118: | ||
Que mostri en pantalla tant els missatges enviats com els rebuts (en un div addicional), | Que mostri en pantalla tant els missatges enviats com els rebuts (en un div addicional), | ||
+ | </ | ||
+ | |||
+ | ======Act-2. Laberint: Iniciant la partida====== | ||
+ | =====Primera fase===== | ||
+ | En aquesta primera fase, farem que el client entri al servidor i es pugui connectar a una partida o crear-ne una de nova. | ||
+ | - Et connectes al servidor. El servidor et respon amb un json de la forma {connexio: | ||
+ | - Li pases el teu nom d’usuari. {nom: | ||
+ | - El servidor t’informa de les partides en curs. {partides: | ||
+ | - Pots optar per crear una nova partida o connectar-te a una existent {accio: | ||
+ | - Si hem fet ‘nova partida’, el servidor ens retorna el llistat de partides, amb la nostra incorporada. | ||
+ | |||
+ | <WRAP todo> | ||
+ | Prenent com a referència el codi treballat en l' | ||
+ | </ |