con il winsock.

il locale invia il nome del file che deve scaricare al "remoto"
il remoto lo apre e lo invia al "locale", poi il locale lo riceve
e lo salva nel file che vuoi.

Se conosci Winsock è abbastanza facile.