SCHOOL · PROJECT

ft_irc

C++98 IRC server

GitHub Repo
C++98Socketsselect/pollRFC

Overview

ft_irc is an RFC-style IRC server in C++98. It handles TCP sockets with multiplexing (select/poll), supports channels, and implements core IRC commands with robust error handling.

Highlights

  • Parsing and validating IRC messages
  • Client state machine and channel membership
  • Rate-limiting and error responses
  • Graceful disconnects and cleanup

Technical Details

  • Non-blocking sockets with select/poll loop
  • Ring buffers for I/O handling
  • Command dispatch table and handlers
  • Strict C++98 compliance

Challenges

  • Backpressure and fairness across clients
  • Partial reads/writes and framing
  • RFC compliance decisions

What I Learned

  • Network programming under constraints
  • Robust state management
  • Testing network protocols
ft_irc · Projects · Mohamed Kobaa