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 Ultima revisió Ambdós costats nova versio | ||
libgdx_comunicacions [2024/04/12 11:44] enric_mieza_sanchez [Servidor WebSockets en NodeJS] |
libgdx_comunicacions [2024/05/03 17:37] enric_mieza_sanchez [Ús en app libGDX] |
||
---|---|---|---|
Línia 2: | Línia 2: | ||
Aquest article ve de [[jocs libGDX]] on implementem jocs multiplataforma. | Aquest article ve de [[jocs libGDX]] on implementem jocs multiplataforma. | ||
+ | |||
+ | libGDX es programa en Java, per tant podriem emprar les llibreries estàndard de comunicació HTTP o WebSockets. Però si utilitzem les pròpies de liBGDX ens facilitarà el codi, ja que ens estalviarem la gestió dels //threads// de comunicació necessaris a [[Android]] explicats a [[Android Threads]]. | ||
Llibreries de comunicacions: | Llibreries de comunicacions: | ||
Línia 14: | Línia 16: | ||
Les realitzem mitjançant la [[https:// | Les realitzem mitjançant la [[https:// | ||
+ | |||
+ | ==== Exercicis ==== | ||
+ | |||
+ | <WRAP todo> | ||
+ | Fes un [[https:// | ||
+ | |||
+ | Implementa una crida HTTP a alguna web quan premem un botó del Dialog. | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
\\ | \\ | ||
Línia 95: | Línia 108: | ||
* Podem enviar des de qualsevol part del codi inclús des del '' | * Podem enviar des de qualsevol part del codi inclús des del '' | ||
* Per rebre dades del servidor ho fem mitjançant l' | * Per rebre dades del servidor ho fem mitjançant l' | ||
+ | |||
+ | <WRAP important> | ||
+ | El protocol WebSockets (ws://) funciona sobre HTTP. Si estem treballant en producció sobre HTTPS, el protocol és SecureWebSockets (wss://). El codi aquí indicat serà una mica diferent, caldrà instanciar '' | ||
+ | |||
+ | <code java> | ||
+ | socket = WebSockets.newSocket(WebSockets.toSecureWebSocketUrl(address, | ||
+ | </ | ||
+ | |||
+ | </ | ||
<file java GameScreen.java> | <file java GameScreen.java> | ||
Línia 111: | Línia 133: | ||
address = " | address = " | ||
socket = WebSockets.newSocket(WebSockets.toWebSocketUrl(address, | socket = WebSockets.newSocket(WebSockets.toWebSocketUrl(address, | ||
+ | // ULL: si és a traves de HTTPS , el protocol seria wss enlloc de ws | ||
+ | //socket = WebSockets.newSocket(WebSockets.toSecureWebSocketUrl(address, | ||
socket.setSendGracefully(false); | socket.setSendGracefully(false); | ||
socket.addListener((WebSocketListener) new MyWSListener()); | socket.addListener((WebSocketListener) new MyWSListener()); | ||
Línia 174: | Línia 198: | ||
$ cd ws1 | $ cd ws1 | ||
$ npm init | $ npm init | ||
- | $ npm install http ws | + | $ npm install http ws express uuid |
Afegeix '' | Afegeix '' | ||
$ node index.js | $ node index.js | ||
- | | + | |
--> Exemple 1: WebSockets simple# | --> Exemple 1: WebSockets simple# | ||
Línia 250: | Línia 275: | ||
ws.on(' | ws.on(' | ||
try { | try { | ||
+ | // exemple per descoficar JSON | ||
var posData = JSON.parse(data); | var posData = JSON.parse(data); | ||
posData.id = userid; | posData.id = userid; |