Salve a tutti - Linguaggio JAVA!
Il caso tipico è quello della chat, ho in pratica tanti client che si connettono ad un server, e ogni client può contattarne un altro per comunicare.
Stavo pensando alla soluzione software per lo smistamento dei messaggi, cioè:
Il server dovrà tenere una lista dei client connessi, per esempio un array di thread.
Se il client A vuole contattare il client F, invia un msg al server con la stringa da inviare e il nome (A) del client a cui inviarla!
Il server prende la lista la scorre fino a trovare il client che si chiama F, e gli spedisce la stringa da parte di A.
In questo modo però se ho 1000 client connessi che parlano con qualcuno dei loro contatti avrò 1000 thread che ad ogni messaggio scatenano ricerche su questo array di socket...
Qualcuno di voi ha un idea migliore?
Giusto per ragionare, avevo pensato di creare alla richiesta di A di comunicare con F, un oggetto connessione, sul server, in cui gestire in modo diretto il canale di comunicazione tra due client.