Este projeto foi desenvolvido com fins acadêmicos como parte de uma avaliação da disciplina de Redes de Computadores.
Este projeto implementa um sistema de chat simples utilizando sockets TCP com suporte a múltiplos clientes. Ele é uma ótima introdução à comunicação em rede com Python, utilizando socket
e threading
.
- ✅ Múltiplos clientes conectados simultaneamente
- ✅ Troca de mensagens em tempo real
- ✅ Comunicação usando TCP/IP
- ✅ Arquitetura cliente-servidor
- ✅ Interface em terminal (linha de comando)
O projeto é composto por dois arquivos principais:
server.py
: roda o servidor que gerencia conexões e transmite mensagens.client.py
: roda um cliente que envia e recebe mensagens no chat.
- Python 3.x instalado
- Terminal ou prompt de comando
> $ git clone https://github.com/gusmaomatheus/chat-socket.git
> $ cd chat-socket-python
> $ python server.py
> $ python client.py
Terminal 1 (servidor):
[Servidor iniciado] Aguardando conexões em 127.0.0.1:12345...
[Nova conexão] ('127.0.0.1', 54321) conectado.
Terminal 2 (cliente):
Digite seu nome: Ana
Pedro: Oi Ana!
Ana: Oi Pedro! Tudo bem?
Terminal 3 (cliente):
Digite seu nome: Pedro
Ana: Oi Pedro! Tudo bem?
-
O servidor escuta novas conexões e cria uma thread para cada cliente.
-
Cada cliente roda duas threads:
-
Uma para enviar mensagens digitadas.
-
Outra para receber mensagens do servidor.
-
-
O servidor recebe as mensagens dos clientes e as retransmite para todos os outros conectados.
Este projeto está licenciado sob a licença MIT. Sinta-se livre para usar e modificar!