Enviar imagens via socket em Java

Caros,

preciso criar um chat (socket) que transfira imagens.

Inclusive estou tentando usar o JFileChoooser.

Grato pela ajuda.

Vou dar um exemplo de como eu faria.

Primeiro converteria a imagem em bytes, tem vários exemplos no link abaixo.

depois no socket, enviaria a imagem. Caso seu OutputStream envie somente texto, converteria os bytes em String e adicionaria um prefixo ou usaria JSON:

String result = "$image{user:"+nome+", data:"+toHexaString(bytes)+"}";
// se for texto String result = "$text{user:"+nome+", text:"+text+"}";