Implementar um protocolo da camada de aplicação para distribuir arquivos de texto. O protocolo é bem simples e está especificado abaixo:
Esses são os comandos de request:
101 PASSWD <string>
102 ACCESS <nome do arquivo>
103 QUIT
Esses são os comandos de response:
901 OK
902 UNKNOWN
903 UNAUTHORISED
904 NOT FOUND
905 FILE <dados>
906 EOF
Os comandos de request podem gerar diferentes respostas:
101 PASSWD
o servidor retornará 901
OK
caso o password esteja correto; e 903 UNAUTHORISED
caso incorreto.
O password pode ser uma string hard-coded.
102 ACCESS
o servidor retornará 903
UNAUTHORISED
caso um password correto não tenha sido recebido ainda do cliente; 904
NOT FOUND
caso o arquivo não exista; ou se o arquivo existir o
servidor deve retornar 901 OK
; seguido do arquivo; seguido de 905 EOF
.
103 QUIT
o servidor retornará
901 OK
e fechará a conexão.
902
UNKNOWN
.O pacote do protocolo é da seguinte maneira:
Código (3 bytes) | Separador (1 byte - char de espaço ' ') | Mensagem (12 bytes) |
Dados (1024 bytes - Opcional) |
O campo de dados deve ser enviado apenas para os códigos 101, 102 e 905