Bonjour tout le monde,
Je me lance dans la programmation d'un serveur mmo. Le but étant de créer un prototype capable de gérer une centaine de client à la fois.
Je me heurte à un problème qui semble récurent où les réponses sont très divers et varié.
J'ai un serveur qui va tout gérer de son coté (pas de calcul coté client etc....).
_ Connection des clients.
_ Réception des données du client.
_ Envois de données vers le client.
_ Affectation de la map et tout le tralala dont à besoin un jeu.
J'ai trois approches possible:
On multithread le tout (une thread par fonctionnalité donc 4 au total).
On multithread rien du tout (tout est gérer via un select et le timer du select).
On fait du moitier-moitier, la gestion des clients d'un coté, la gestion de la map et le tralala de l'autre.
J'ai juste commencé la conception du serveur, donc je n'ai pas pu faire de test de charge sur une de ces trois parties.
Je cherche donc un initié qui aurait déjà fait des tests de charge sur une des trois possibilités et me donne son avis.
Je voulais aussi savoir les rapports "cout de dev"/"robustesse de la solution".
Configuration:
linux, C++, gestion des socket bas niveau (read/write/accept/select, pas d'api).
Un pic de connection simultané espéré à une centaine de client.
Un échange de tram de maxi 10ko.
pc portable classique, mais suffisant pour ce genre de demande (oui je précise la machine car évidamment, pour plus de perf, on prend un nouveau serveur très performant, mais c'est pas le but final). Une machine simple devrait suffir à gérer une centaine de client simultané.
Partager