Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouIsaque Custodio Alterado mais de 9 anos atrás
1
P ROGRAMAÇÃO D ISTRIBUÍDA Primeira Fase da Aplicação Distribuída: Gestão de Salas João Gomes Nº 21150324 Marco AndradeNº 21190335 1
2
E STRUTURA DE COMUNICAÇÃO Int code, inteiro que transporta o código referente a operação que se pretende efectuar. T Message, campo genérico que encapsula os dados necessários para processar a operação descrita pelo campo code. 2
3
C ÓDIGOS DE COMUNICAÇÃO Códigos 0->50, cliente para servidor 1 -> Login 2 -> Pedir listagem de salas 3 -> Pedir Listagem de reservas de salas do utilizador actual 4 -> Pedir para registar reserva 5 -> Logout 6 -> Pedir para cancelar reserva 7 -> Pedir listagem de todas as reservas 3
4
C ÓDIGOS DE COMUNICAÇÃO C ONT. Códigos 50->100 servidor para o cliente sucesso 99 -> Login efectuado com sucesso 98 -> Preparar para receber listagem de salas 97 -> Preparar para receber listagem de reservas de salas do utilizador actual 96 -> Sala reservada com sucesso 95 -> Listagem de todas as reservas 4
5
C ÓDIGOS DE COMUNICAÇÃO C ONT. Códigos 50->100 servidor para o cliente, falha 50 -> Login inválido 51 -> Utilizador sem salas reservadas 52 -> Sala já reservada 53 -> Falhou pedido para cancelar reserva 5
6
C ÓDIGOS DE COMUNICAÇÃO C ONT. Códigos enviados quando há alterações 70 ->Alterações nas reservas 71 -> Alterações nas salas 6
7
L IGAÇÃO Cliente Estabelece Ligação via TCP Servidor aceita ligação e lança thread Cliente envia pedido de autenticação Code 1, message: User User: Username, password Code: 50/51 Login ok=50 Login fail=51 Login ok, cliente lança thread ligação Login Fail, mostra mensagem ao utilizador Cliente Servidor 7
8
L IGAÇÃO Após verificação das credenciais do utilizador, o programa cliente lança uma Thread que vai receber todas respostas do Servidor. O cliente Gráfico é responsável por enviar todos os pedidos para obter a informação que necessita. 8
9
Cliente Gráfico Thread Ligação Invoca método Actualiza, passando o código que recebeu do servidor Servidor Thread Multicast Thread ClientConn ection ThreadCl ient...... Pedidos Respostas Pedido IP/Porto via Multicast Resposta via UDP
10
S ERVIDOR O servidor está implementado da seguinte forma: 10 Servidor Thread Principal Thread Multicast Thread ClientConnection Thread TheadClient 1 … Thread TheadClient N
11
T HREADS NO S ERVIDOR Thread Principal: Esta thread é responsável por lançar duas threads: a thread ClientConnection e threadMulticast, esta é ainda responsável pela gestão da consola onde é possível efectuar operações de gestão de salas, utilizadores e reservas. Thread Multicast: Esta thread é responsável por ficar à escuta de pedidos multicast de modo a dar suporte a resolução do IP do servidor via multicast, no IP 127.0.0.1 porto 9090. Esta thread responde apenas a mensagens com o conteúdo “IP” 11
12
T HREADS NO S ERVIDOR CONT. Thread ClientConnection : Esta thread é responsável por aceitar os pedidos de ligação de clientes e pedir a classe Data para registar o socket do cliente e o ID da thread que o vai atender. Thread ThreadClient : Esta thread é responsável por atender todos os pedidos de clientes bem como responder a esses pedidos. Esta thread serve apenas para descodificar as mensagens vindas do cliente e fazer os respectivos pedidos à classe Data que é quem trata de toda a informação. Após obter a informação de Data codifica a informação obtida e envia ao cliente. 12
13
C LIENTE O cliente está implementado da seguinte forma: 13 Cliente Janela Login Cliente Gráfico Thread Cliente
14
J ANELA DE L OGIN Quando o programa é iniciado é lançada uma janela modal que permite ao utilizador procurar por um servidor através de multicast fazer e fazer Login. Após um Login com sucesso esta janela é fechada e é lançada uma Thread (ligação) que vai receber todas as mensagens enviadas do cliente para o servidor. É ainda disponibilizado ao utilizador uma janela gráfica para efectuar as operações que desejar. 14
15
C OMUNICAÇÃO T HREAD L IGACAO - > CLIENTE GRÁFICO Quando a Thread ligação recebe uma mensagem vindo do cliente invoca o método Actualiza(int code) que actualiza os dados conforme o código que recebeu por parâmetro. 15
16
A RMAZENAMENTO DE DADOS Os dados são armazenados de forma serializada, em três.txt, estes ficheiros são: Reserves.txt, armazena os dados referentes às reservas; Rooms.txt, armazena os dados das salas disponíveis no sistema; Users.txt, armazena os dados dos utilizadores que podem aceder ao sistema. 16
17
M ANUAL DO UTILIZADOR Servidor Cliente
18
I NICIAR APLICAÇÃO Para inicial servidor ou um cliente basta executar o batch files RunServer.bat e RunClient.bat respectivamente que se encontram na pasta do projecto.
19
S ERVIDOR A aplicação servidora trabalha em modo consola e assim teremos que ter uma noção acerca dos comandos das seguintes acções: Adicionar utilizadores e salas Listar utilizadores, salas e reservas Remover utilizadores, salas e reservas Em caso de alguma dúvida persistir basta inserir um comando inválido e será aprensentado um help.
20
A DICIONAR Utilizadores Salas
21
L ISTAR Utilizadores Salas Reservas
22
R EMOVER Utilizadores Salas Reservas
23
C LIENTE A aplicação cliente trabalha em modo gráfico e assim teremos que ter uma noção acerca de alguns passos de modo a conseguir executar as acções mais importantes.
24
C ONECÇÃO AO SERVIDOR Como podemos observar na figura verificamos que existem 3 campos a preencher, assim: a – ip do servidor; b – porto do servidor; c – ip multicast onde automáticamente poderemos preencher os campos a e b. a b c
25
L OGIN Após uma conecção válida poderemos efectuar o login. d – nome do utilizador; e – password correspondente ao utilizador. d e
26
R ESERVAR SALA Nesta aba é onde podemos efectuar a reserva de uma sala ao inserir os seguintes campos: f – identificador da sala; g – dia a reservar; h – horário da reserva. f g h
27
C ONSULTAR SALAS Nesta aba é onde podemos consultar uma sala e assim teremos de inserir os seguintes campos: i – podemos optar por 2 métodos para consulta, por sala ou dia/hora; j – preencher campos acerca da consulta que se pretende. i j
28
C ONSULTAR R ESERVAS Nesta aba é onde podemos consultar as nossas reservas e cancelar e assim teremos de inserir os seguintes campos: k – preencher campos acerca da reserva que se pretende. k
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.