Salve,
in realtà questo post non è specifico sul c#, ma piuttosto sulla programmazione multithreading in generale...
Sto sviluppando un'applicazione server, e l'approccio che ho scelto temo possa essere quello sbagliato. Senza entrare troppo in dettaglio, il server, quando riceve una chiamata da un client, crea una struttura dati associata al client, accetta la connessione, crea il socket, e poi crea anche un thread worker associato a quel client.
Ora, anche se non credo che questa applicazione dovrà mai sostenere un traffico superiore ad un centinaio di client, temo che la creazione di un thread per ogni client possa portare ad un degrado delle prestazioni significativo quando i client aumentano.
Però allo stesso tempo non mi viene in mente un altro modo per gestire i client in maniera asincrona.
Cosa ne pensate?
Grazie mille.
Ciao.