Sto cercando di trovare il modo migliore per eseguire una corrispondenza casuale in un gioco semplice.Utilizzo di RTMFP solo per corrispondenza casuale (Adobe Cirrus)
Durante gli esperimenti con netStreams con Adobe Cirrus, posso facilmente impostare connessioni dirette, inviare dati, testo, video, suoni utilizzando Cirrus che è fantastico. Trovo abbastanza facile ottenere una semplice connessione P2P in corso, e funziona proprio come ne ho bisogno.
Ma ci tengo a implementare una funzione di matchmaking casuale usando SOLO Cirrus quindi tutto è però p2p ...
Come potrei fare per afferrare un peer casuale dello stesso gruppo ... che non è in una diretta connessione con qualcun altro già?
alcune idee:
-I stava pensando forse avrei potuto utilizzare la replica oggetto ... e quando qualcuno si collega al GroupSpecifier, ho potuto quindi spingere un altro oggetto in questo array condiviso che ha il peerID locale e il loro stato . quindi potrei semplicemente modificare l'array quando sono in una partita. Ma poi sono preoccupato che non vi è alcuna garanzia che il loro ingresso verrà rimosso se la persona si limita a chiudere la finestra web.
-Ho pensato anche a fare un "post" al gruppo che contiene il nearID, e gli altri peer possono ottenere il post ... e quelli che non sono in un gioco proveranno a ricollegarsi. Quindi quella parte si collegherà a loro. quindi saranno entrambi in connessione diretta l'uno con l'altro. Ma poi mi sento come se potenzialmente centinaia di persone "disponibili" ... prendessero il posto ... poi provano tutti a connettersi con una persona, quindi potrebbero causare problemi.
-Inoltre, ho pensato di fare sendToNearest ... ma non sarebbe il modo migliore per abbinare le persone ... perché puoi avere solo tanti vicini di casa penso ... se ci fossero 1000 persone nel gruppo. riuscirai a connetterti solo con qualcuno che in realtà considera il tuo vicino giusto? Quindi in pratica potresti finire per abbinarti alle stesse 5-10 persone o comunque tecnicamente considerate un vicino.
Idee pulite! Mi piace una combinazione dei primi due, con un token (o n token, basati su # di colleghi). Ad ogni peer ineguagliato viene assegnato il token per un breve periodo. È la loro possibilità di connettersi, quindi nessun flusso di utenti, e se non riportano un risultato, vengono rimossi. Come una rete di token ring vecchia scuola :) –