A simple epoll()-based chat room application. Client programs are able to
talk to other clients in the same chat room using a server program.
- GCC 10+
- GNU/Linux Operating System (
epoll()is a Linux-exclusive system call) - GNU Make
Run make in the project's directory. Running make clean will clean the build
artefacts (object files and the server and client binaries)
Run the server binary first. Please provide the IPV4 address and the port as
arguments. The client binary must be launched with the same arguments:
./server 127.0.0.3 8000
./client 127.0.0.3 8000The client applications may issue these commands to the server:
\HELPshows the available commands\SETNICK new_nicknamesets up a new nickname\NEWROOM limit namecreates a new chat room with a user limit and a nickname\JOINROOM room_idswitches the client to the room with the inserted identifier\INFOshows information concerning the current user and the current chat rooom
The client and rooms queues may get tangled up. The server will terminate on these rare ocasions.
The server does not frees all the memory it should.
Code needs better organisation.