Noua versiune a serverului este disponibila la adresa de svn : https://svn.info.uaic.ro/repos/ciatri/CiatriServer2/.

Principala imbunatatire fata de versiunea initiala este eliminarea paradigmei "new connection new thread", care practic trata fiecare client intr-un fir de executie separat ( total ineficient ). Serverul foloseste un alt principiu care poate fi regasit in C++ de exemplu sub paradigma "select server". Practic, serverul asteapta o perioada pana cand un client sau mai multi are/au ceva de comunicat ( conectare, transmisie de date ). Apoi serverul trateaza iterativ acesti clienti. Ulterior, serverul trece din nou in starea de asteptare initiala.

Avand in vedere faptul ca operatiile cu fiecare client nu sunt costisitoare, acest model functioneaza foarte bine.

In ceea ce priveste message dispatching, serverul foloseste un mecanism mai aerisit decat cel implementat precedent ( Communication Module ). Este folosita introspectia si se cauta la runtime metoda care ar putea sa trateze mesajul respectiv.

Odata cu aceasta modificare, va fi modificat si protocolul. Clientul va trebui sa-si trimita numele in acele mesaje in care este nevoie de identitatea sa.