Este projeto é um aplicativo de bate-papo simples, desenvolvido em Java utilizando JavaFX para a interface gráfica e sockets para comunicação em rede. O objetivo principal é fornecer um ambiente básico de troca de mensagens entre clientes conectados a um servidor, permitindo estudar conceitos de rede, multi-threading e programação orientada a eventos.
Estrutura do Código: O projeto possui três classes principais:
- ChatApp.java – Classe principal da aplicação que inicializa a interface gráfica e conecta o cliente ao servidor.
- ClienteChat.java – Classe responsável por gerenciar a conexão do cliente, envio e recebimento de mensagens.
- ServidorChat.java – Classe que gerencia o servidor, aceitando múltiplos clientes simultaneamente e distribuindo mensagens para todos.
Raciocínio Lógico do Desenvolvimento: O desenvolvimento seguiu a lógica de separar responsabilidades. O servidor é responsável apenas por receber e encaminhar mensagens, enquanto cada cliente possui sua própria interface gráfica e gerencia a comunicação. A interface foi construída usando JavaFX para permitir componentes como TextArea e TextField para exibição de mensagens e digitação de textos. Foi utilizado VBox para organizar os elementos verticalmente e ações de botões foram associadas a eventos para enviar mensagens.
Decisões Técnicas:
- JavaFX foi escolhido para a interface gráfica por sua facilidade de integração com Java e suporte a componentes visuais interativos.
- Sockets foram utilizados para comunicação em rede, permitindo a criação de múltiplos clientes simultâneos conectados ao mesmo servidor.
- Multi-threading no servidor garante que cada cliente possa se comunicar sem bloquear a execução dos demais.
- Cada classe pública foi separada em seu próprio arquivo, seguindo as boas práticas de nomenclatura e organização do Java.