Back

GitHub


IRC

Summary

Is an group project about creating a small IRC server in C++98, that can be used with a real IRC client to chat, create chat rooms, send private messages to one or multiple users, via TCP connection.

Command list:

void
Server::quit(Client &client, const Parser::cmd_t &cmd)
{
	LOG_INFO("quit: " << client.getNickname() << " leaving")
	client.sendMsg("ERROR :Leaving Server");
	if (!cmd->args.empty()) {
		LOG_TRACE("quit: Reason: " << cmd->args.front())

		this->deleteClient(client.getFd(), cmd->args[0]);

		return;
	}
	LOG_TRACE("quit: No reason")
	this->deleteClient(client.getFd());
}	// Server::quit

Introduction

Internet Relay Chat or IRC is a text-based communication protocol on the Internet. It offers real-time messaging that can be either public or private. Users can exchange direct messages and join group channels.

IRC clients connect to IRC servers in order to join channels. IRC servers are connected together to form a network.

Mandatory part

You have to develop an IRC server in C++ 98.

You mustn’t develop a client. You mustn’t handle server-to-server communication.

Your executable will be run as follows:

./ircserv <port> <password>

Requirements

Bonus part

Here are the extra features you can add to your IRC server so it looks even more like and actual IRC server: