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++17durante 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.