TelesNET é um projeto educacional de chat em tempo real desenvolvido em Python para estudar comunicação cliente-servidor usando sockets TCP.
O projeto permite iniciar um servidor local, conectar múltiplos clientes e trocar mensagens entre eles por broadcast.
O objetivo do projeto é praticar conceitos fundamentais de redes e backend, como:
- redes;
- arquitetura cliente-servidor;
- sockets;
- TCP/IP;
- concorrência;
- threads.
- Servidor TCP usando IPv4.
- Conexão de múltiplos clientes.
- Envio e recebimento de mensagens.
- Broadcast das mensagens para os outros clientes conectados.
- Identificação simples dos usuários por nome.
- Uso de threads para atender clientes simultaneamente.
- Remoção de clientes desconectados.
- Encerramento do cliente com o comando
/sair.
- TCP;
- IPv4;
- sockets;
- cliente-servidor;
bind;listen;accept;connect;sendall;recv;- encode/decode UTF-8;
- threading;
- broadcast;
- gerenciamento de conexões.
Cliente A ───┐
│
Cliente B ───┼──► Servidor TCP ───► Broadcast
│
Cliente C ───┘
O servidor recebe as mensagens enviadas por cada cliente e repassa para os outros clientes conectados.
- Python
- Socket
- Threading
- TCP/IP
TelesNET/
├── server.py
├── client.py
├── README.md
└── .gitignore
Abra um terminal na pasta do projeto e inicie o servidor:
py server.pyDepois, abra outro terminal e inicie um cliente:
py client.pyPara testar múltiplos usuários, abra novos terminais e execute novamente:
py client.pyAo conectar, cada cliente informa seu nome. Para sair do chat, digite:
/sairEste projeto ajudou a colocar em prática conceitos de redes que normalmente ficam abstratos durante o estudo.
O fluxo principal praticado foi:
cliente → socket → TCP → servidor → broadcast → clientes
As ideias abaixo são possíveis evoluções futuras, não funcionalidades atuais do projeto:
- interface gráfica;
- mensagens privadas;
- salas;
- histórico;
- autenticação;
- criptografia;
- envio de arquivos.