Retour aux projets
Systems
FAR Messaging
Application de messagerie texte distante proche d'un IRC, pensée pour fonctionner sur deux machines avec serveur multithread, comptes, salons, rôles admin et transfert de fichiers.

Contexte
Projet systèmes et réseaux axé sur les sockets TCP, la concurrence et la persistance de données.
Rôle
Développement des commandes, de la communication client-serveur, de la gestion des rooms, de l'authentification et des transferts de fichiers.
Stack
CTCP socketsPostgreSQL
Architecture
Serveur C multithread avec un thread par client, mutex pour protéger les états partagés, sockets TCP et base PostgreSQL pour comptes et données persistées.
Fonctionnalités clés
- Comptes, connexion unique, messages publics, privés et rooms.
- Rôles admin avec création, suppression, ban, unban et shutdown.
- Transfert direct de fichiers avec en-têtes personnalisés et payload binaire.
Apprentissages
- Gérer la concurrence réseau en C avec mutex.
- Concevoir un protocole texte robuste pour des commandes multiples.
- Identifier les limites de sécurité autour du hash de mot de passe et des transferts.