IRC application for a Computer Networks assignment at ICMC - USP
Altair Fernando Pereira Junior, 9391831
Osni Brito de Jesus, 11857330
Lucas Xavier Leite, 10783347
Neste projeto para a disciplina de redes de computadores o grupo implementou um Internet Relay Chat (IRC) com algumas adaptações do protocolo RFC 1459. Onde é possivel conectar diversos usuarios (clientes) a um servidor e estabelecer uma troca de mensagens entre si. Algumas funcionalidades serão disponiveis atraves de comandos.
Primeiramente é necessario criar a pasta build, onde ficará os arquivos executáveis. Isso para o servidor e cliente.
mkdir build
Apos criar a pasta build, é possivel compilar o servidor e cliente com o comando:
make all
Ou pode ser compilado separadamente
make server
make client
Para executar servidor e cliente:
make run_server
make run_client
Sistemas operacionais testados:
Arch Linux 5.18.9-arch1-1 x86_64 GNU/Linux
5.17.15-1-MANJARO x86_64 GNU/Linux
Compilador: gcc version 12.1.0
- /connect: Conecta um novo cliente no servidor (que deve estar em execução)
- /quit: Encerra conexão com o servidor
- /ping: Recebe a mensagem 'pong' do servidor
- /join nomeCanal: Entra no canal 'nomeCanal' (se for inexistente é criado)
- /nickname apelido: Usuario é reconhecido pelo 'apelido'
- /kick usuario: Remove a conexao de 'usuario'
- /mute usuario: Impossibilita que o 'usuario' envie novas mensagens
- /unmute usuario: Remove 'mute' do usuario
- /whois usuario: Retorna o IP do usuario para o admnistrador
Com o servidor rodando, um cliente pode se conectar ao servidor atraves do comando /connect.
Apos conectado o usuario pode entrar ou criar um canal atraves do comando /join (com o protocolo adotado, o nome de um canal deve iniciar com '#' ou '&' sem espaços em branco).
O usuario que criar o canal se torna o admnistrador do canal, com privilégios de alguns comandos.
CTRL+D é equivalente ao /quit