O Desenvolvimento de uma ferramenta para comunicação em rede
Por: SonSolimar • 12/12/2018 • 3.366 Palavras (14 Páginas) • 433 Visualizações
...
Para fazer essa comunicação entre cliente e servidor, utilizamos Sockets TCP, sockets são uma abstração para endereços de comunicação através dos quais processos comunicam. Cada endereço tem um identificador único composto pelo endereço da máquina e o identificador local da porta usado pelo processo. Este identificador de porta é usado para mapear dados recebidos pela máquina para processos (aplicações) específicos. O processo de comunicação no modo orientado à ligação ocorre da seguinte forma: o servidor é colocado num determinado porto e aguarda por ligações do cliente a essa porta. O cliente deve saber previamente qual o nome ou IP do servidor e o respectivo porto onde o servidor foi colocado à espera de ligações. Então o cliente solicita uma ligação ao host (servidor) /porto. Se nenhum problema ocorrer, o servidor aceita a ligação gerando um socket num porto vago do lado do servidor, criando assim um canal de comunicação entre o cliente e o servidor. De referir que o porto original fica livre para poder receber outros pedidos de ligação. Tipicamente o comportamento do servidor é ficar em loop, aguardando novas ligações e “gerando” sockets para atender as solicitações de clientes. Inicialmente o cliente deve contatar o servidor. Para isso, o processo servidor já deve estar executando o programa antes de ser contatado além de já ter criado o socket (porta) que aceita o contato do cliente. O cliente contata o servidor criando um socket TCP local e especifica o endereço IP e o número da porta do processo servidor. Quando o servidor é contatado, o servidor cria um novo socket para se comunicar com o cliente, permitindo assim a liberação do socket para que possa ser contatado por outros clientes.
A conexão TCP é um fluxo contínuo de dados, a mensagem é fragmentada em pacotes, não há duplicação, ele garante a entrega e a ordem dos pacotes. A conexão é ponto-a-ponto: um remetente e um destinatário conectado por sockets.
3- FUNCIONAMENTO DO CHAT
3.1- Menu
Ao iniciar o chat a primeira tela de acesso é o menu:
[pic 3]
A tela de menu possui dois JRadioButton e um botão chamado Open:
- JRadioButton Server: Chama a classe servidor e abri a mesma, lembrando que primeiro deve-se abrir o Server e depois o Client, caso isso não ocorrer não haverá conexão com o servidor, irá apresentar um erro.
- JRadioButton Client: Abri a tela de login, após inserir os dados cadastrados no chat, irá abrir a tela Cliente para então iniciar as conversas no chat.
- Botão Open: Verifique se algum JRadioButton foi selecionado e abri-o.
3.2- Tela Servidor
[pic 4]
A tela do servidor possui um campo de entrada do valor da porta de conexão e três botões que executam as seguintes funções determinadas:
- Campo Porta: Coloca-se o número da porta para conexão do servidor.
- Botão Conectar: Verifique se a porta está disponível e o servidor passa a ter o status ATIVO, que é o campo que está acima dos botões.
- Botão Desconectar: Desconecta da porta que está, pode se alterar a porta e conectar-se novamente, caso a porta esteja disponível para conexão.
- Botão Voltar: Fecha a tela do servidor e realiza a volta para a tela de menu do chat.
3.3- Tela Cliente
[pic 5]
A tela do cliente possui um campo onde ficará as armazenadas as mensagens enviadas e recebidas, possui outro campo onde o cliente irá digitar as mensagens que irão ser enviadas e três botões que executam as seguintes funções determinadas:
- Campo Porta: Coloca-se o número da porta para conexão do servidor.
- Botão Enviar: Envia os textos digitados na caixa.
- Botão Sair: Encerra a conversa atual no chat.
- Botão “+”: Serve para buscar no computador, arquivos a serem enviados via chat, ele abre o seletor de arquivos do Windows.
3.4- Tela de Login
[pic 6]
A tela de login possui dois campos de entrada de texto e três botões que executam as seguintes funções determinadas:
- Campo Username: Coloca-se o nome que foi cadastrado.
- Campo Password: Coloca-se a senha que foi cadastrada
- Botão Login: Verifica se as informações de login foram preenchidas corretamente e se há um login existente com este usuário e senha, caso contrário o usuário não poderá avançar para a próxima tela e deverá cadastrar-se no chat.
- Botão Sair: Realiza a saída do chat e finaliza qualquer processo relacionado.
- Botão Create Account: Abre uma janela que é possível realizar um novo cadastro, caso o cliente ainda não tenha um login no chat.
3.5- Tela de Cadastro
[pic 7]
Possui dois campos de entrada de texto e dois botões, que ao final, as informações serão agrupadas e enviadas ao banco de dados.
- Campo Username: Escolha de um nome para usuário.
- Campo Password: Escolha de uma senha que somente ela poderá ter acesso ao jogo.
- Botão Register: Agrupa todos os dados e envia para o banco de dados.
- Botão Voltar: Fecha a tela de cadastro e realiza a volta para a tela de login do chat.
Assim que o usuário realiza o cadastro, ele tem acesso ao chat através da tela de login, informando de forma correta o nome de usuário e a senha que foram fornecidos no campo username e password.
4- PLANO DE DESENVOLVIMENTO DO CHAT
4.1- JUSTIFICATIVA DE LINGUAGEM
Conforme foi pedido na proposta de trabalho, o chat foi desenvolvido com a linguagem de programação Java, satisfazendo assim uma das exigências do trabalho proposto. Além
...