Back to projects

Networking · Backend · Systems · C++

Completed

ft_irc

View on GitHub

Building an IRC server in C++ with socket programming, client authentication, channels, commands, and IRC protocol handling.

C++TCP/IPSocketsIRC ProtocolLinux

Overview

A networking and server-programming project focused on implementing an IRC server and understanding TCP connections, multiple clients, channels, commands, protocol replies, and server-side state.

Challenges

The server needs to manage multiple connected clients without blocking.

Designed the server around socket multiplexing and centralized client event handling.

IRC messages must be parsed and validated according to protocol rules.

Separated parsing, command validation, and command execution to keep protocol handling easier to debug and extend.

What I Learned

How TCP client-server communication works.

How multiple socket connections are managed.

How IRC commands and numeric replies are structured.

How protocol parsing differs from normal application input parsing.

Highlights

TCP server

Multiple clients

IRC protocol

Command handling

Channel management