Salut, je suis en train de coder un serveur de sockets en java (1.4.x) pour des clients en Flash et j'aimerais quelques conseils de design pour que ce daemon soit assez léger car un serveur IIS+coldfusion tourne déjà sur la machine (dédiée)
En suivant qq conseils sur le net, j'ai fait :
* une classe PoolManager qui écoute les nouvelles connexions (avec ServerSocket.accept()) et qui stocke les flux de sortie de chaque socket créée.
* une classe implementant Runnable pour chaque client et qui appelle une méthode (synchronized) de PoolManager à chaque nouveau message entrant
* un thread qui gère les commandes serveur (shutdown, stat, etc...)
Là, ça fonctionne bien mais je me pose des questions :
* Est-ce que la création d'un thread par client n'est pas trop lourde ? Si oui, comment optimiser ça ?
* Est-ce que la montée en charge est lineaire ? (là j'en doute un peu puisqu'avec N clients, de l'ordre de (N * N) messages en moyenne sont suceptibles d'être propagés)
thanx