Final grade : 125%
This project was realised with axelcoezard.
The goal of this project is to reproduce the functioning of an IRC server that clients can connect to.
What is an IRC server? IRC stands for "Internet Relay Chat", which is a text-based communication protocol on the Internet. It is used for instant communication mainly in the form of group discussions through chat channels, but it can also be used for communication between two people.
The Internet operates using numerous standards and protocols to allow interoperability between connected machines. This project will help you to learn about one of those protocols.
Useful links for the mandatory part:
- Internet Relay Chat
- Internet Relay Chat Protocol
- Internet Relay Chat: Architecture
- Internet Relay Chat: Client Protocol
- Internet Relay Chat: Server Protocol
- Internet Relay Chat: Channel Management
- Socket Programming in C/C++
- TCP server with kqueue
Useful links for the bonus part:
Usage : make run to start server and IRSSI to connect to the server as a client (download ISSRI).