Saving largura de banda durante a transferência de dados é importante , especialmente se você está desenvolvendo um protocolo baseado na Internet que envolveria muitas transferências de arquivos ou comandos de streaming , como o protocolo de transferência de hipertexto ou neo- modus conexão direta. Quanto mais você reduz a quantidade de bytes transferidos , menos largura de banda que você vai precisar para realizar uma tarefa. Tenha em mente também que as subidas de uso de CPU como compressão faz. BZip2 Compressão
BZip2 é um tipo comum de compressão usada para transferir arquivos e comandos de streaming através de um protocolo . Protocolos , como NMDC e avançado de conexão direta , usá-lo de forma intercambiável entre o cliente eo servidor, e entre a comunicação do cliente direto . Isso tudo depende do que é enviado através do aperto de mão - o início da interação protocolo , quando os computadores são apresentados um ao outro . BZip2 é open-source e livre de patentes , assim você pode usá-lo como quiser , de qualquer maneira que você gostaria . Apenas certifique-se de ler toda a documentação de licenciamento se trata com você antes de decidir alterar o algoritmo .
GZip Compression
Se você é um administrador de web , você provavelmente está familiarizado com GZip , como ele é usado em compactação de elementos da web em sites. Assim como BZip2 , o uso de GZip é negociado entre o cliente eo servidor apenas depois que o cliente inicia uma conexão . Ele pode ser usado de forma eficiente na transferência de arquivos e blocos de dados. Ao contrário BZip2 , no entanto, GZip não funciona tão eficiente quanto um compressor de streaming para dados. Você vai chegar à conclusão de que ele vai ser um pouco volumoso em fluxo de dados se você tiver um olhar para o seu algoritmo . Algoritmo do GZip é patenteado , tornando-o capaz de mudá-lo em torno de como você gostaria .
Binários Protocolos
Para aqueles que querem desenvolver um protocolo eficiente , integrando algoritmos de compressão pode ser um pouco contra-producente . Embora a compactação poupa largura de banda , você ainda fica com uma escalada no uso da CPU . Para reduzir de forma eficiente o tempo de processamento de um comando , tanto o cliente eo servidor , você pode criar um protocolo binário para transferência de dados . Um protocolo é um protocolo de binário que envia um ou dois bytes , que actuam como comandos . Por exemplo, você pode ter um comando para iniciar uma transferência de arquivos a partir do servidor , que normalmente seria chamado de " F_INIT ", em um protocolo de corda, mas acabaria por ser chamado de " 9 3 " em um protocolo binário . Isso reduz muito a quantidade de largura de banda utilizada e mantém a eficiência do processador. Embora isso pareça bom , ainda é melhor usar compressão de mãos dadas com um protocolo binário para reduzir o consumo de largura de banda, se você pode dar ao luxo de consumir um punhado de energia da CPU .