Multiplayer in tempo reale Android su LAN [chiuso]


9

Ho sviluppato diversi giochi per la piattaforma Android e ora sto pianificando di creare il mio primo gioco multiplayer. Quello che ho in mente è fondamentalmente solo una strega di gioco per 2 giocatori che puoi giocare con 2 telefoni tramite connessione locale / WiFi.

Entrambi i telefoni devono essere in grado di trasmettere 3 valori interi all'altro telefono in tempo reale. Finora ho preso in considerazione l'uso di Socket, ma prima di scavare troppo in profondità volevo chiedere se potesse esserci un approccio migliore?

Grazie!


3
Un approccio migliore rispetto alla presa ... non sono sicuro. Tuttavia, non è necessario utilizzare socket non elaborati poiché le librerie già esistenti lo fanno per te. Suppongo che tu stia sviluppando su piattaforma Android con Java (non hai etichettato come java) in modo da poter guardare Kryonet.
Nathan,

Esatto, sto sviluppando con Java. Esaminerò Kryonet. Grazie per il commento.
Heigo,

Se stai passando solo un paio di valori, potresti prendere in considerazione il Bluetooth. Ecco alcuni buoni riferimenti: developer.android.com/guide/topics/connectivity/bluetooth.html e stackoverflow.com/questions/5619850/…
amb

Potrei anche prendere in considerazione l'uso del bluetooth nell'ulteriore sviluppo, ma al momento, penso che le persone abbiano più familiarità con il WiFi.
Heigo,

1
Attualmente sto iniziando a creare anche un gioco multiplayer e sto pensando di avere un back-end del servizio di riposo (per la registrazione dei giocatori, matchmaking ecc.) E un server di gioco basato su socket tcp. Quando la partita viene stabilita e il gioco inizia effettivamente, il servizio di riposo invierà un messaggio socket al server e verrà creata l'istanza effettiva del gioco (per rendere le cose scalabili). I client ottengono l'ip per il server e creano una connessione utilizzando un token di sicurezza fornito dal servizio rest. Il server di gioco convalida e fa il resto.
Thomas,

Risposte:


-2

Un'opzione che potresti guardare è Socket.IO .

Sembra che ci siano molte discussioni su Socket.IO su Stack Overflow, tra cui:

Purtroppo, non sono riuscito a capire come ottenere un dispositivo Android per comunicare direttamente con un altro dispositivo Android tramite Socket.IO, o anche con un solo passaggio indiretto, entrambi con un unico punto di accesso WiFi tra di loro. (Non so ancora se fosse un bug nel mio codice, una sorta di firewall nel codice di qualcun altro o una limitazione intrinseca di Socket.IO). Ho avuto una piccola demo funzionante con un dispositivo Android che inviava messaggi a un server Web, che ha inoltrato il messaggio all'altro dispositivo Android.


Come plug-in per un server Node.js, Socket.IO potrebbe essere rilevante per una domanda sul multiplayer in tempo reale in un gioco per browser. Nell'attuale contesto di Java e Android , tuttavia, la sua menzione serve solo a fuorviare.
Eric,

Ho una piccola demo con un'app Android personalizzata che utilizza Socket.IO per (indirettamente) comunicare con un'altra app personalizzata su un altro dispositivo Android, tramite un server Node.js. "Funziona" più o meno, ma se conosci un approccio migliore, in particolare uno con una comunicazione più diretta, io (e sono sicuro che il poster originale) mi piacerebbe saperlo - per favore, dicci.
David Cary,

-2

Hai detto che entrambi i dispositivi erano nella stessa stanza?

Ogni dispositivo Android ha un altoparlante e un microfono. In linea di principio, è possibile che un'app invii una serie di toni dall'altoparlante e quindi l'altra app ascolti i toni e li decodifichi in una stringa di messaggi. Puoi (a) utilizzare l'intero spettro audio per inviare dati, qualcosa come gli accoppiatori acustici degli anni '60 e '70, oppure (b) usare una larghezza di banda molto più stretta da 15 KHz al massimo supportato dal tuo dispositivo (probabilmente 24 KHz) - - una pipa di dati molto più lenta, ma la maggior parte delle persone non riesce più a sentire quelle frequenze - è ad ultrasuoni per loro.

Gli operatori radioamatoriali hanno sviluppato molte tecniche intelligenti per estrarre segnali estremamente deboli da un sacco di rumore.

" Comunicazione tramite la presa audio per telefoni Android"

Lettura del suono su Android: a b c

"Il software Zoosh di Narrate sfrutta gli altoparlanti e i microfoni degli smartphone per consentire le stesse comunicazioni di dati tra dispositivi fornite dall'odierna NFC, ma con frequenze ultrasoniche non udibili dall'uomo." - Eweek , Slashdot .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.