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 | ||
|
libgdx_comunicacions [2025/03/18 19:58] enric_mieza_sanchez [Exercicis] |
libgdx_comunicacions [2026/04/12 10:22] (actual) enric_mieza_sanchez [Ús en app libGDX] |
||
|---|---|---|---|
| Línia 131: | Línia 131: | ||
| \\ | \\ | ||
| - | ==== Ús en app libGDX ==== | + | ==== Ús en app libGDX |
| - | * Per connectar-nos al servidor des de l'app libGDX | + | * Per connectar-nos al servidor des de l'app libGDX |
| - | * Podem enviar des de qualsevol part del codi inclús des del '' | + | * **Inicialitzar** biblioteca de codi als '' |
| - | * Per rebre dades del servidor | + | CommonWebSockets.initiate();</ |
| + | * **Crear '' | ||
| + | * Podem **enviar | ||
| + | * Per **rebre dades amb el '' | ||
| <WRAP important> | <WRAP important> | ||
| Línia 146: | Línia 149: | ||
| </ | </ | ||
| + | |||
| + | |||
| + | === Inicialització (launchers) === | ||
| + | Primer de tot, cal inicialitzar els '' | ||
| + | |||
| + | <file java Lwjgl3Launcher.java> | ||
| + | public class Lwjgl3Launcher { | ||
| + | public static void main(String[] args) { | ||
| + | if (StartupHelper.startNewJvmIfRequired()) return; // This handles macOS support and helps on Windows. | ||
| + | CommonWebSockets.initiate(); | ||
| + | createApplication(); | ||
| + | } | ||
| + | | ||
| + | //... | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | <file java AndroidLauncher.java> | ||
| + | public class AndroidLauncher extends AndroidApplication { | ||
| + | @Override | ||
| + | protected void onCreate(Bundle savedInstanceState) { | ||
| + | super.onCreate(savedInstanceState); | ||
| + | CommonWebSockets.initiate(); | ||
| + | AndroidApplicationConfiguration configuration = new AndroidApplicationConfiguration(); | ||
| + | configuration.useImmersiveMode = true; // Recommended, | ||
| + | initialize(new Joc(), configuration); | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | |||
| + | === App libgdx (core) === | ||
| <file java GameScreen.java> | <file java GameScreen.java> | ||
| Línia 198: | Línia 234: | ||
| @Override | @Override | ||
| public boolean onMessage(WebSocket webSocket, String packet) { | public boolean onMessage(WebSocket webSocket, String packet) { | ||
| - | System.out.println(" | + | System.out.println(" |
| return false; | return false; | ||
| } | } | ||
| Línia 204: | Línia 240: | ||
| @Override | @Override | ||
| public boolean onMessage(WebSocket webSocket, byte[] packet) { | public boolean onMessage(WebSocket webSocket, byte[] packet) { | ||
| - | System.out.println(" | + | System.out.println(" |
| return false; | return false; | ||
| } | } | ||
| Línia 349: | Línia 385: | ||
| ==== Exercicis ==== | ==== Exercicis ==== | ||
| <WRAP todo> | <WRAP todo> | ||
| - | Implementa el servidor NodeJS indicat. | + | **Servidor i app de prova en local** |
| - | Afegeix la llibreria | + | Implementa el servidor NodeJS |
| - | Assegura' | + | Fes una aplicació libGDX |
| </ | </ | ||
| <WRAP todo> | <WRAP todo> | ||
| + | **Servidor WebSockets en producció** | ||
| + | |||
| Implementa el servidor NodeJS al teu servidor públic (Proxmox). | Implementa el servidor NodeJS al teu servidor públic (Proxmox). | ||
| Ajusta l' | Ajusta l' | ||
| + | |||
| + | Pots mirar de posar en producciò el servidor NodeJS amb el [[https:// | ||
| + | </ | ||
| + | |||
| + | <WRAP todo> | ||
| + | **Incorporant websockets a un joc** | ||
| + | |||
| + | Afegeix la llibreria de WebSockets al teu joc libGDX i fes que envii la posició del personatge 1 cop per segon. | ||
| + | |||
| + | Assegura' | ||
| </ | </ | ||