O DESENVOLVIMENTO DE UMA FERRAMENTA PARA COMUNICAÇÃO EM REDE
Por: SonSolimar • 29/11/2018 • 7.143 Palavras (29 Páginas) • 405 Visualizações
...
3.1.2 Aguardando a Conexão 14
3.1.3 Entrada e Saída dos Fluxo no Socket 15
3.1.4 Processamento de Dados 15
3.1.5 Fechamento da Conexão 16
3.2 CRIANDO O CLIENTE 16
3.2.1 Socket de comunicação com o Servidor 16
3.2.2 Entrada e Saída dos Fluxo no Socket 16
3.2.3 Processamento de Dados 17
3.2.4 Fechamento de Conexão 17
3.3 INTERAÇÃO 17
3.4 MULTITHREADING 17
4. MENSAGENS DO CHAT 18
5. INTERFACE GRÁFICA 18
6. PROJETO 21
6.1 Interação Cliente-Servidor 21
6.2 Controle do Socket no Servidor 22
6.3 Entrada e Saída de Dados 23
6.4 Controle de Threads no Servidor 23
6.5 Mensagens 24
7. CONCLUSÃO 25
9. APÊNDICE 27
9.1 Classe Chat 27
9.2 Classe Client 34
9.3 Classe Cliente 35
9.4 Classe Mensagem 36
9.5 Classe Server 37
9.6 Classe Servidor 43
---------------------------------------------------------------
1. INTRODUÇÃO
A comunicação por meio de recursos tornou-se fundamental no nosso dia a dia, mesmo em tempos antigos onde não havia muita tecnologia o homem buscava maneiras de se comunicar a distância, com o tempo ele foi aprimorando estes meios para que pudesse obter um melhor aproveitamento em um menor tempo de resposta, hoje por meio de uma rede de computadores podemos utilizar recursos que permitem a rápida troca de informações através de uma aplicação. Esta é a finalidade de um Chat.
Neste trabalho abordaremos o desenvolvimento de uma ferramenta para comunicação em rede, explicando através conceitos básicos o funcionamento de um chat, Sockets, Protocolos, Portas, etc..., voltado para uso interno de uma rede local, tendo como base uma conexão cliente-servidor usando Protocolos TCP/IP para a troca dos dados.
A linguagem de programação JAVA foi escolhida para este fim usando a ferramenta Eclipse na versão Luna 4.4.2.v2015, baseando-se em Orientação a Objetos, separando cada função da aplicação entres classes, o que torna o código mais organizado, mais simples e flexível.
O Java possui uma API de Sockets provida pelo pacote java.net, que será utilizada no programa, este pacote se encarrega de fazer todo o processo intermediário entre a aplicação e a camada física, facilitando ainda mais a troca de dados, para que não nos preocupássemos com toda uma comunicação de voltada para baixo nível.
Para tornar mais interativo e atrativo em seu resultado final, contamos com uma API Gráfica, utilizando pacotes SWING e AWT para proporcionar ao usuário uma maior facilidade em seu manuseio.O plug-in Window Builder fez o tratamento dos objetos gráficos facilitando a criação da interface gráfica.
E por fim, para a comunicação entre as partes, basta que o cliente saiba o endereço de IP referente ao servidor de comunicação e a porta utilizada como entrada, uma vez estabelecida a conexão os clientes podem enviar e receber informações através da caixa de mensagem estabelecida, cada cliente também é identificado com um IP o que distinguem entre si, podendo interagir uns com os outros.
---------------------------------------------------------------
2. FUNDAMENTOS DA CONEXÃO DE DADOS EM REDE
2.1 PROTOCOLO
Protocolo é um método padrão que permite a comunicação entre computadores, celulares ou qualquer dispositivo com conexão a rede, isto é, um aglomerado de normas e procedimentos a ser respeitado para enviar/receber dados em uma rede. Há inúmeros protocolos, cada um de acordo com um tipo de comunicação. Alguns protocolos serão específicos na troca de arquivos como por exemplo o FTP, outros serão capazes de gerenciar o status da comunicação e os erros como o protocolo ICMP.
Os protocolos aplicados na Internet fazem parte de uma serie de protocolos, ou seja, um agregado de protocolos, que se chama TCP/IP.
Segue alguns exemplos de protocolos TCP/IP :
- HTTP Protocolo de Transferência de Hipertexto,comunicação pela internet (www).
- FTP Protocolo de Transferência de Arquivos,transferência de arquivos pela internet.
- ARP Protocolo de resolução de endereço,encontra o endereço da camada de ligação por exemplo, Ethernet.
- IP Protocolo de internet,identifica dispositivos conectados na internet.
- TCP Protocolo de controle de transmissão,verifica erros de envio de dados.
- SMTP Protocolo de transferência de correio simples,envio de emails.
De acordo com o nível de controle dos dados desejável, os protocolos são divididos em duas categorias, orientados e não orientados à conexão.
Os protocolos orientados à conexão efetuam um controle de transferência dos dados ao longo de uma comunicação estabelecida entre dois dispositivos. Quando efetuada a comunicação o dispositivo receptor envia avisos de recepção sendo assim, o dispositivo emissor responsável pela legitimidade dos dados que envia. Esse tipo de protocolo envia os dados em forma de fluxo, temos como exemplo de protocolo orientado à conexão o TCP.
Já os protocolos não orientados à conexão não efetuam o mesmo controle do orientado à conexão, de modo que a comunicação do dispositivo emissor envia dados sem prevenir o dispositivo receptor, alem do dispositivo
...