Olá pessoal…
Já li todas as dúvidas sobre como enviar um arquivo via socket e estou tentando fazer um módulo cliente no java que só receberá uma imagem enviada pelo servidor em C++.
No C++ eu to colocando um FileStream em um buffer e estou enviando esse buffer inteiro pro Java.
Ele tá transferindo todos os bytes da figura original, mas quando eu tento abrir a figura recebida, ele dá um problema dizendo que o tipo do arquivo é desconhecido.
Abaixo vai o meu código em java…se alguém puder me ajudar eu agradeceria muito…
public static void main(String[] args) {
try{
Socket conexao = new Socket("127.0.0.1", 5000);
DataInputStream entrada = new DataInputStream(conexao.getInputStream());
FileOutputStream saida = new FileOutputStream(new File("teste.bmp"));
int tam = Integer.parseInt(entrada.readLine());
System.out.println(Integer.toString(tam));
byte[] b = new byte[200000];
entrada.read(b,0, tam);
saida.write(b, 0, tam);
saida.flush();
// int i = 0;
// while((i = entrada.available()) != -1) {
// saida.write(entrada.readByte());
// }
entrada.close();
saida.close();
conexao.close();
System.out.println("Transferência completa");
} catch(Exception ex) {
System.out.println("Erro: " + ex);
}
}
Desculpem o código…tá super tosco e eu to tentando várias abordagens diferentes pro problema…
Abraços e agradeço desde já…