Aunque tu requerimiento suena muy facil, la verdad es que puede que si lo sea... jejeje.
pero solo si eres un poco mas experimentado.
1.tiesnes que trabajar algunos de los API de socket , segun si trabajas en windows o en linux, si trabajas en c puedes usar la libsocket, aunque seguramente que en C# que es en el foro don de estas , ya debe venir una clase para realizar esta labor bajo windows claro esta.
asumamos que te refires a c y te equivocaste de foro.1.libreria de sockets libsocket o winsock
2.debes inicializar el socket en el puerto 80 que es el del http
3.segun como lo quieras hacer, debes
utilizar gethostbyname() para hallar el nombre de la direccion ip correspondiente.
4.obviamente debes manjar muy bien el tema de archivos y documentarte acerca del manejo de archivos remotos por mediol del api.
recuerda de todas maneras que esto no es nada facil si eres principiante, ya que crear el socket no es solo decirle crear socket... ya que para bajar el archivo, el socket debe estar orientado a conexion , y debes tener elaboradas algunas rutinas de recepcion y de envio de mensajes..
SUERTE!!