Ciao a tutti,
ho realizzato una piccola applicazione client server per un gioco.
L'applicazione funziona perfettamente e client e server comunicano secondo un protocollo ben definito attraverso la porta 7777 TCP del server.
Adesso vorrei inserire una piccolissima chat, per permettere ai giocatori di comunicare tra loro durante le partite.
Naturalmente devo usare una porta diversa, giusto? in modo da non andare ad influire sul protocollo di comunicazione.
Apro quindi un'altra porta, diciamo la 7778, questa volta in UDP e faccio avvenire la comunicazione della chat tramite questa porta.
Solo che in questo modo l'unica comunicazione che mi riesce di fare è quella che client e server comunicano uno alla volta, uno dopo l'altro.
Naturalmente questa soluzione non mi piace, vorrei infatti che se il server (ad esempio) volesse mandare 3 messaggi consecutivi possa farlo senza problemi.
A questo punto mi sono posto il seguente intterrogativo:
come faccio? Apro un altro socket, quindi due socket UDP (gestendoli in due thread diversi) e uno lo utilizzo per la comunicazione dei messaggi sal server al client e uno per i messaggi dal client al server?
O ci sono altre soluzioni?
Aspetto consigli![]()
grazie a tutti!
EDIT: dopo aver postato questo messaggio mi è capitata sotto mano questa discussione dove si parla proprio del mio problema.
Leggendo la risposta ho quindi capito più o meno come fare...
Solo che in quella discussione si parla di un server in comunicazione con diversi client, mentre nel mio caso il server è in comunicazione sempre e solo con un solo client!
Quindi in questo caso posso fare a meno della pila di cui si parla nella discussion?
In ogni caso, avete qualche link da passare ?
grazie a tutti di nuovo!

Rispondi quotando