Comunicação entre Cliente e Servidor com download de image

Olá pessoal, sou novo em Java e estou precisando de uma ajuda, como eu faço para obter uma comunicação entre um programa cliente e outro servidor, sendo que nesse servidor seram armazenadas imagens que eu precisarei acessar por esse cliente, e ainda precisarei fazer o download dessas imagens no seu tamanho real. Precisarei dessa implementação pra desenvolver meu trabalho de conclusao de curso.
Outra pergunta, meu orientador pediu que eu fizesse td isso usando Sockets.
Se alguem souber de algum exemplo, uma dica, ou puder me dar uma força serei muito grato!!

Obrigado