Criando um cabeçalho de pacote em java para minha aplicação
Pergunta
Eu tenho um aplicativo simples de compartilhamento de arquivos. Os usuários estão enviando dados entre si por meio de pacotes de tamanho 1024 KB. Tudo funciona perfeitamente, mas o que eu preciso é o cabeçalho para cada pacote. Não tenho certeza de que entendo o conceito de cabeçalho, mas acredito que ele deve conter informações como: nome de usuário do usuário que tem o arquivo, tamanho do arquivo, nome do arquivo para que o usuário que esteja baixando O arquivo pode ter certeza de que ele está baixando o arquivo certo.
Qualquer exemplo ou link seria bem -vindo, pois é a primeira vez que estou lidando com esse tipo de coisa.
Solução
O objetivo de um cabeçalho é transmitir informações sobre o pacote que segue o cabeçalho. Por uma questão de argumento, considere um aplicativo de transferência de arquivos como o que você está desenvolvendo, onde, por exemplo, um arquivo pode ser transferido de vários usuários ao mesmo tempo para um usuário que deseja o arquivo. Se cada remetente enviar um pacote contendo uma parte do arquivo, você precisará de alguma forma de informação sobre qual parte é - por exemplo, um número de sequência ou um deslocamento no arquivo para que o receptor seja capaz de montar as peças para o arquivo real.
Para facilitar para si mesmo, você pode dar uma olhada Buffers do Protocolo do Google, o que permite especificar quais campos compõem as mensagens, bem como serializam e as desapealizam.
Você pode encontrar exemplos de coisas para colocar em um cabeçalho no Protocolo TCP Por exemplo, embora você não deva pensar que precisa de tudo o que está nesse cabeçalho ou algo assim. Olhar para outros protocolos é uma boa maneira de aprender.