Implementar o protocolo para efetuar uma transferência de arquivos simples em uma arquitetura

0 respostas
I

[b]Galera, estou com um trabalho da disciplina de redes da minha faculdade que estou encontrando muitas dificuldades. A ideia inicial é ter um cliente e um servidor, onde ambos possam trocar arquivos. Porém as especificações que a professora solicitou não estou conseguindo implementar. Preciso de uma ajuda, pois só consegui implementei até agora o servidor e o cliente, onde eles estabelecem comunicação. Alguém pode me indicar um arquivo,código ou uma orientação de como posso terminar esse trabalho. Segue abaixo a especificação:

“Descrição
O objetivo do trabalho é implementar o protocolo para efetuar uma transferência de arquivos simples em uma arquitetura cliente - servidor”

Especificação do Protocolo

Cada estação (STA) possui as características de cliente/servidor;

2.

Inicialmente cada STA é configurada para receber um endereço IP, que identifica outra estação (servidora) com a qual ela pode se comunicar e solicitar um arquivo. Cada STA

no sistema mantém um cache com os nomes arquivos disponíveis para transferência, inicializado com as informações do usuário do aplicativo;

3.

O Aplicativo deverá permitir ao usuário buscar por um determinado arquivo.

O protocolo deverá consultar seu cache para verificar se possui a

informação, caso contrário, iniciará um processo de consulta

ao servidor e esperará por uma resposta, sempre informando o estado da comunicação ao usuário do aplicativo;

4.

O protocolo de comunicação deverá abrir um soquet na porta 6000 usando

o número IP configurado para consultas

ao servidor

e esperará uma

resposta.

5.

Caso o aplicativo cliente receba uma resposta com dados, ele deverá informar ao

usuário; caso contrário, ele receberá do servidor uma resposta

6-

Quando um aplicativo atuando no modo servidor recebe uma consulta, ele deve consultar seu

cache;

Se este contiver o arquivo solicitado, ele responderá ao cliente com as informações adequadas na porta 6000. Se o servidor não contiver esta

informação, ele gerará uma resposta do tipo

Comunicação cliente

servidor
Define as normas de comunicação para transferência de blocos de arquivos entre
um cliente e um servidor
.
A implementação deve ser feita através de socket TCP
.
Cada arquivo no sistema deverá ser dividido em blocos de 80 bytes para sua transferência
. Cada bloco deverá ser identificado por um número de seqüência iniciado em 0;
o ultimo bloco poderá não conter 80 bytes, neste caso o bloco
deverá ser preenchido com bytes adicionais até completar os 80 bytes.

Primitivas da comunicação cliente servidor
As primitivas tem um tamanho mínimo de 29 bytes e um tamanho máximo de 92 bytes

Descrição dos campos das primitivas:
Os campos de Endereços contêm endereços IP de quatro bytes.
O campo tipo indica a classe de primitiva de comunicação
:

O valor 1 indica uma solicitação cliente

servidor para um arquivo.

O valor 2 indica uma resposta positiva do servidor, envia o arquivo em blocos
de 80 bytes identificados por um número de sequência.
;

O valor 3 indica uma resposta negativa do servidor para a solicitação do
cliente.

O número de seqüência numera os blocos em que o arquivo será dividido iniciado em 0 e incrementando em 1(um) para cada novo bloco do mesmo arquivo.
O campo Tamanho de Arquivo deverá conter o tamanho total em bytes do bloco de arquivo que estará sendo enviado a fim de facilitar o calculo do último bloco.
Todos os campos de controle serão considerados numéricos e alinhados a direita
Os blocos de arquivos em bytes. Para cada requisição iniciada no cliente ele deverá controlar o tempo de resposta do servidor através de um relógio que permita verificar as
condições de erro caso o servidor não esteja respondendo.

[/b]

Criado 6 de dezembro de 2013
Respostas 0
Participantes 1