Projeto da Disciplina SSC0142 - Redes de Computadores (2022), no qual implementaremos uma versão simplificada do protocolo IRC (Internet Relay Chat).
- Lourenço de Salles Roselino | 11796805
- Marco Antônio Ribeiro de Toledo | 11796419
- Melissa Motoki Nogueira | 5588687
O código foi compilado utilizando
clang++ versão 11.0.0
, comtarget = Linux GNU x86_64
. O código foi desenvolvido emC++17
, usando aflag -std=gnu++17
durante a compilação.
.
├── README.md
├── build
└── src
├── Makefile
├── main.cpp
└── Utils
└── Conn.hpp
└── Utils.cpp
└── Utils.hpp
└── Client
└── Client.cpp
└── Client.hpp
└── Channel
└── Channel.cpp
└── Channel.hpp
└── Server
└── Server.cpp
└── Server.hpp
Para testar o código, compile-o com o comando make
(ou em modo de debug com make debug
).
O servidor será iniciado na porta 6667
(essa configuração está contida na variável static string PORT{}
no arquivo ). O programa cliente também será iniciado.
Comandos comuns a todos os usuários:
/connect
- Estabelece a conexão com o servidor;
/quit
- O cliente fecha a conexão e fecha a aplicação;
/ping
- O servidor retorna "pong" assim que receber a mensagem.
/join nomeCanal
- Entra no canal;
/nickname apelidoDesejado
- O cliente passa a ser reconhecido pelo apelido especificado;
/ping
- O servidor retorna "pong" assim que receber a mensagem.
Comandos apenas para administradores de canais:
/kick nomeUsurio
- Fecha a conexão de um usuário especificado;
/mute nomeUsurio
- Faz com que um usuário não possa enviar mensagens neste canal;
/unmute nomeUsurio
- Retira o mute de um usuário;
/whois nomeUsurio
- Retorna o endereço IP do usuário apenas para o administrador.
Para mandar mensagens no servidor, apenas digite normalmente no terminal e aperte ENTER.