mira para trabajar con Socket .NET presenta una de sus tantas clases
System.Net.Sockets
ya tu decides que uso de le das..
para transferencia de archivos si mal no recuerdo lo que deberas hacer es abrir el archivo en modo binario y enviarlo por el socket que esta abierto en el momento, des pues para recibir lo que debes hacer es el proceso inverso, recibes el nombre del archivo crear uno o si gustas primero lo recibes por completo y despues lo escribes en el Dico, recuerda todos los debes manejar en modo binario...
Enjoy it!!..
espero haber sido de ayuda