Olá…Estou desenvolvendo um software que captura a tela de um PC-servidor e envia, via socket a um PC-cliente. A imagem capturada é uma BufferedImage e o ideal seria enviá-la assim, todavia a BufferedImage não implementa Serializable…Alguém sabe qual seria a melhor maneira de enviar esta imagem?
Não queria enviar o array de inteiros que representam os pixels porque preciso instanciar um array desses a cada imagem enviada. Na terceira imagem estou a heap…
Ué, se vc está usando sockets pq não pega o outputStream dele, passa os bytes da imagem e depois os lê na sua classe servidor?
Guitar_Men
como disse o moises.trovo, envie os bytes da imagem, mas se você quer fazer algo direito, monte um protocolozinho dizendo onde começa e onde termina a mensagem, para vc não montar a imagem errada. Uma vez eu implementei da seguinte forma:
1 - Defini um protocolo para enviar o tamanho do array que seria minha imagem.
2 - Defini um protocolo para delimitar onde começa e termina minha mensagem.
Então sempre que ia enviar a imagem primeiro enviava o tamanho, para eu montar o array do outro lado com tudo zerado e evitar “sujeiras” na imagem e depois enviava byte a byte a imagem.
E
eclipso
E do outro lado, como monto uma BufferedImage a partir dos bytes recebidos?
Já teria usado essa solução se eu soubese que dá pra criar um BufferedImage a partir de um array de bytes…