This project is a basic IRC Server following the IRC protocol details. We will discover how to create a server with C++, receive connections, and do it on a non-blocking manner without using threads for it. Developed by @gpernas- and @karisti-.
- IRC protocol
- Sockets
- Non-blocking fcntl
- Kqueue
- Buffer management
- IRC client (CIRC tested)
- Run
make && ./ircserv <SERVER_PORT> <SERVER_PASSWORD>
- Connect from client. From CIRC:
/server <SERVER_IP> <SERVER_PORT> <SERVER_PASSWORD>
- RFC-IRC PROTOCOL
- RFC-IRC PROTOCOL (modern)
- Creating a TCP Server in C++ (Linux / Code Blocks) [YouTube]
- How to use Sockets in C++ for TCP/UDP in MacOS [YouTube]
- A brief intro to TCP/IP and a basic client-server setup in C++
- I/O Multiplexing
- Blocking and Non-Blocking I/0
- Socket man
- fcntl man
- A TCP server with kqueue
- kqueue tutorial
- Handling TCP Connections with Kqueue Event Notification
- I/O Multiplexing