Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

Phobos-Chat_XP

Software (2003-2005) de comunicação peer-to-peer via intranet inspirado no Winpopup LAN Messenger, utilizando sockets TCP/IP.

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

💬 Phobos Chat XP

Aplicação de chat peer-to-peer desenvolvida em Delphi 7 para comunicação em rede local utilizando sockets TCP/IP nativos do Windows.


📌 Sobre

O Chat XP foi desenvolvido como uma solução leve para comunicação direta entre computadores em rede local, sem necessidade de servidores externos, banco de dados ou internet.

A aplicação utiliza os componentes nativos TServerSocket e TClientSocket do Delphi para criar conexões TCP/IP entre dois computadores, permitindo comunicação em tempo real.

O sistema opera em modo cliente/servidor, onde uma máquina pode ficar aguardando conexões enquanto outra estabelece comunicação informando apenas o endereço IP da rede.

Além do envio de mensagens, o aplicativo também possui notificações sonoras, integração com a System Tray, alertas visuais e personalização da interface.


⚙️ Como funciona

O funcionamento da aplicação ocorre em dois modos:

<ul> <li>Modo Escuta (Servidor) <ul> <li>A aplicação abre uma porta TCP/IP</li> <li>Fica aguardando conexões na rede</li> <li>Recebe mensagens em tempo real</li> </ul> </li>

<li>Modo Conexão (Cliente) <ul> <li>Usuário informa o IP do computador remoto</li> <li>A conexão TCP é estabelecida</li> <li>As mensagens passam a ser trocadas instantaneamente</li> </ul> </li> </ul>

Todo o processo acontece utilizando comunicação direta via socket, sem dependência de serviços externos.


🧠 Recursos implementados

Durante a execução, o sistema oferece:

<ul> <li>Conexão cliente/servidor via TCP/IP</li> <li>Troca de mensagens em tempo real</li> <li>Modo escuta automático ao iniciar</li> <li>Notificações sonoras para novas mensagens</li> <li>Alertas visuais na bandeja do sistema</li> <li>Piscar do ícone TrayIcon ao receber mensagens</li> <li>Personalização de fonte e cor da interface</li> <li>Minimização para System Tray</li> <li>Controle de conexão/desconexão</li> <li>Bloqueio automático do campo de envio quando desconectado</li> <li>Status de conexão em tempo real</li> </ul>


🌐 Comunicação em rede

A aplicação utiliza os componentes nativos de socket do Delphi:

<ul> <li>TServerSocket → responsável por aguardar conexões</li> <li>TClientSocket → responsável por conectar em outro host</li> </ul>

Quando uma conexão é estabelecida:

<ul> <li>O endereço IP remoto é identificado</li> <li>O status da sessão é atualizado</li> <li>O campo de digitação é liberado automaticamente</li> <li>As mensagens passam a trafegar via socket TCP</li> </ul>


🔔 Sistema de notificações

Um dos principais recursos implementados no sistema é o mecanismo de alertas de mensagens.

Quando uma nova mensagem é recebida:

<ul> <li>Um som WAV é reproduzido</li> <li>O horário da última mensagem é registrado</li> <li>O TrayIcon começa a piscar automaticamente</li> <li>O status visual da aplicação é atualizado</li> </ul>

O usuário também pode desativar os alertas sonoros através da barra de ferramentas.


🖥️ Interface

A interface foi construída utilizando componentes VCL clássicos do Delphi 7.

<ul> <li>Área de mensagens recebidas</li> <li>Campo de envio de mensagens</li> <li>Status de conexão</li> <li>Toolbar com atalhos rápidos</li> <li>Menus de conexão e edição</li> <li>Popup menu da bandeja do sistema</li> <li>Indicadores visuais de atividade</li> </ul>


🎨 Personalização

O sistema permite personalização básica da interface:

<ul> <li>Alteração de fonte</li> <li>Alteração de cor de fundo</li> <li>Seleção total do texto</li> <li>Funções de copiar, colar e recortar</li> </ul>

As alterações são aplicadas dinamicamente durante a execução.


🧩 Integração com System Tray

A aplicação possui integração completa com a bandeja do sistema através do componente abfTrayIcon.

Recursos disponíveis:

<ul> <li>Minimizar sem fechar a aplicação</li> <li>Restaurar com duplo clique</li> <li>Alertas visuais por animação de ícone</li> <li>Menu rápido na bandeja</li> </ul>


⚠️ Tratamento de erros

O sistema possui validações básicas de conexão e tratamento de falhas de rede.

Entre os comportamentos implementados:

<ul> <li>Exibição de erros de conexão</li> <li>Reconexão do modo escuta após desconexão</li> <li>Bloqueio do envio sem conexão ativa</li> <li>Reset automático do estado visual</li> </ul>


🚀 Fluxo de utilização

<ol> <li>Abra a aplicação</li> <li>Escolha entre escutar ou conectar</li> <li>Informe o IP remoto (modo cliente)</li> <li>Aguarde a conexão</li> <li>Digite mensagens e pressione ENTER</li> <li>Receba notificações em tempo real</li> </ol>


🛠️ Tecnologias

<ul> <li>Delphi 7</li> <li>VCL (Visual Component Library)</li> <li>TServerSocket / TClientSocket</li> <li>Windows API</li> <li>abfComponents</li> <li>TCP/IP Sockets</li> </ul>


📸 Preview

image


Aplicação clássica de comunicação via intranet inspirado no Winpopup LAN Messenger. 🗨️