XNetServer

De WikiBR
Warning.png Article archivé.
Le protocole XNet n'est plus utilisé ni maintenu par le BR
Warning.png
  • Développement

Le xNetServer est développé par le BR.

Il en existe plusieurs version, toutes disponibles sur la SVN

xNetServer

Il s'agit de la version historique du serveur xNet. C'est aussi la version qui est en production actuellement sur le réseau de l'école. Il a été codé pour la librairie Qt (héritage du BR2000) et est désormais à peu près stable. Il gère le protocole xNet version 4.0.

Il est disponible sur la SVN dans le modules xnetserver :

svn co https://www.polytechnique.fr/eleves/svn/br/xnetserver/ --username=prenom.nom.x

Historique

pre BR2000

Le serveur xNet était extrêmement instable et ne gérait pas la DNS. Les versions actuelles du serveur n'ont plus aucun lien de parentée avec ces versions.

BR2000/BR2001

Le xNetServer actuel a été développé par Squale (BR2000) et MadCoder (BR2000) puis finalement terminé par JiBee (BR2001) afin de rendre le code original (entre du C et du C++) plus clair, et plus stable. Cette version avait aussi pour but de gérer la toute nouvelle DNS élèves (eleves.polytechnique.fr), le code de cette partie a été écrite par Squale (BR2000).

Ce serveur a longtemps été aussi instable que son précurseur, notament à cause d'un SIG_PIPE non géré par Qt qui provoquait un arrêt aléatoire du serveur au bout de quelques jours. Lors de la passation au BR2002, le code était à peu près stabilisé.

BR2002/BR2003

Le BR2002 sous l'impulsion de JiBee(BR2001) est passé à mysql pour conserver les informations relatives aux clients, et pour gérer la DNS. S'en sont suivi un certain nombre de bugfixes et de suppressions de fuites mémoires (oui il n'y a pas de garbage collector en C++ JiBee...), puis des modifications comme le passage au protocole 3.9/4.0 pour suivre l'évolution du client principal QRezix.

rexNet

rexNet est un serveur développé par Ey (BR2001).

Il s'agit d'une version complètement reprise à zéro du serveur xNet sans utilisation de la librairie Qt, ce qui permet de se passer des librairies Qt et donc X sur les serveurs. Il a aussi été codé de façon à cloisonner le code entre une partie protocole/réseau, une partie authentification et une partie gérant les clients d'un point de vue abstrait.

Il est disponible sur la SVN dans le module xnetserver, branche rexnet :

svn co https://www.polytechnique.fr/eleves/svn/br/xnetserver/branches/rexnet --username=prenom.nom.x

Ce serveur, suite au travail de Zuzuf, a été passé en production à l'occasion de la semaine du BR 2006.