How ferdinaldopelembe/tcp-chat works
Este repositório é uma aplicação de chat de terminal cliente-servidor: clientes enviam nome e mensagem por TCP, e o servidor retransmite a mensagem aos restantes participantes. O grafo preserva as etapas de entrada, transmissão, distribuição e apresentação, além dos modelos de utilizador e mensagem e da configuração de rede. O fluxo do servidor está visível em server.cpp; detalhes do cliente e do histórico são descritos no README, pois client.cpp não foi excerptado.
Main entry points: client.cpp Entrada e envio · server.cpp Receber mensagens · constants.hpp IP e porta · message.cpp Mensagem
Components 13
Cliente
- Entrada e envio
client.cpp - Ligação TCP
client.cpp - Receção paralela
client.cpp - Histórico e saída
client.cpp
Servidor
- Listener TCP
server.cpp - Aceitar clientes
server.cpp - Receber mensagens
server.cpp - Distribuir mensagens
server.cpp - Registo no terminal
server.cpp
Modelo de domínio
- Mensagem
src/message.cpp - Utilizador
src/user.cpp
Configuração
- IP e porta
include/constants.hpp
Other components
- Participante
Connections 15
- Participante → Entrada e envio: introduz mensagem
- Entrada e envio → Ligação TCP: envia pacote
client.cpp - Ligação TCP → Listener TCP: liga por TCP
- Listener TCP → Aceitar clientes: aceita ligação
server.cpp - Aceitar clientes → Receber mensagens: regista cliente
server.cpp - Receber mensagens → Distribuir mensagens: distribui mensagem
server.cpp - Distribuir mensagens → Receção paralela: envia aos pares
server.cpp - Receção paralela → Histórico e saída: apresenta recebidas
client.cpp - Entrada e envio → Histórico e saída: guarda histórico
client.cpp - Participante → Histórico e saída: vê mensagens
- Receber mensagens → Mensagem: constrói mensagem
server.cpp - Mensagem → Utilizador: contém remetente
- Distribuir mensagens → Registo no terminal: regista mensagem
server.cpp - IP e porta → Ligação TCP: configura destino
client.cpp - IP e porta → Listener TCP: configura porta
server.cpp