Olá. Gostaria de saber se alguém já passou por este problema.
Tenho um byte[] de tamanho = X.
Quando faço o encode para a base64 ele fica com tamanho = Y.
Quando faço o decode da base64 ele retorna para o tamanho original = X.
Agora o problema:
Tenho um byte[] de tamanho = X.
Quando faço o encode para a base64 ele fica com tamanho = Y.
Envio para um servidor de socket o byte[] na base64 com tamanho = Y.
O servidor recebe o byte[] na base64 com tamanho = Y.
Quando o servidor faz decode da base64 ele não retorna para o tamanho original = X. O decode sempre retorna dois bytes a mais no lado do servidor = X+2…
a) Por que não transmite o byte[] diretamente? Seu protocolo é baseado em texto?
b) Você está recebendo byte[] dos dois lados?
c) Pode postar o método desse servidor?
Obrigado pela resposta ViniGodoy. Vou detalhar o que esta acontecendo.
Estava tentando utilizar o base64 porque tive um problema anterior…
Estava fazendo da seguinte forma:
Através do player, estou capturando o microfone “capture://audio?audio_enc=x-wav” do celular e armazenando em um byte[] de tamanho = X.
Consigo reproduzir normalmente este byte[] armazenado no meu celular.
Quando envio este byte[] para o servidor, ele chega corretamente com o tamanho X. Porém o player não consegue reproduzir o audio recebido…
Já fiz um teste de echo… Mando este byte[] para o server e recebo com a mesmo tamanho, porém o player também não consegue reproduzir…
Comparando o byte[] de audio original com o enviado para o servidor, verifiquei que o byte[] original inicia sempre com o valor 82,…
Porém esse primeiro valor não chega no servidor, a primeira informação que chega no servidor é a sequencia depois do 82…
Constatando isso, quando envio este byte[] de audio, na ponta eu seto a primeira posição como 82, ai funciona perfeitamente.