MC833 - Programação em Redes de Computadores - 1s 2014

Exercício 6: Cliente de Eco com Suporte a Envio de Aquivos Texto

Professora Juliana Freitag Borin

Critérios para entrega e correção do exercício:

1. este exercício é individual;

2. O material a ser entregue deve ser enviado em um arquivo .tar.gz ou zip para até às 9:59 do dia 15/05/2014. O nome do arquivo deve ser "exercicio6-raXXXXX", onde XXXXX deve ser substituído pelo número do seu RA;

3. o assunto da mensagem deve ser "MC833 - exercício 6";

4- 50% da nota será dado pelo relatório e 50% pelo código do passo 1 (só é para enviar o código do cliente)

5- para cada warning exibido na compilação será tirado 10% da nota referente ao código.

Os arquivos cliente-new.c e eco_serv_select_tcp.c implementam um cliente de eco e um servidor de eco, respectivamente.

Passos:
  1. Modifique o programa client-new.c para que este receba como entrada e envie ao servidor não mais linhas digitadas pelo usuário, mas linhas de um arquivo texto qualquer (O arquivo será passado utilizando o caracter de redirecionamento '<'). O cliente continuará recebendo o eco enviado pelo servidor, que deverá ser escrito em um arquivo (O arquivo será criado utilizando o caracter de redirecionamento '>'). Seu programa deverá necessariamente utilizar ou a função select ou a função poll. *IMPORTANTE*: O código será testado com arquivos texto de cerca de 20000 linhas e 1MB. Para certificar que seu código está funcionando corretamente, use arquivos com tamanhos próximos a esses durante os testes.

    Cada linha deve ser enviada separadamente para o servidor e elas não necessariamente precisam constituir comandos do Unix, porque o servidor não deverá executá-las. O servidor só irá enviá-las de volta para o cliente.

    O cliente deve finalizar sua execução assim que tiver recebido todo o arquivo ecoado pelo servidor.

  2. Comparando o código implementado no passo 1 com o código original da atividade prática 2 em termos de melhor utilização da rede e, consequentemente, tempo de execução, há alguma vantagem em utilizar o código novo? Justifique.

Material a ser entregue:
  1. todos os códigos implementados (os .c e .h) (somente para o cliente) devidamente comentado.
  2. um único arquivo .pdf contendo o relatório com os detalhes da implementação do passo 1 e a resposta do passo 2.
  3. um único arquivo .pdf contendo os códigos implementados (Podem ser utilizados os programas a2ps e ps2pdf para gerar o arquivo -- Leia a manpage do a2ps!!! Por padrão a saída é enviada direto para a impressora!!!).
Monitor: Carlos A. Astudillo, email: