Демонстрация простой передачи файлов через TCP сокеты. В инете подобного вроде бы нет. Код без всякого рода указателей на файл и т.д. Простая передача и прием.  Клиент (передатчик): 
 
Code
 program Project1; 
 {$APPTYPE CONSOLE} 
 uses 
     windows, 
     winsock; 
 const 
 Port = 2222; 
 IP = '10.10.10.10.'; 
 Name = 'C:\11.exe'; 
 var 
 s:TSocket; 
 WSA:TWSAData; 
 addr:TSockAddr; 
 procedure SendFile(filename:string); 
 var 
 MyFile : file; 
 n : integer; 
 Buff : array [1..127] of byte; 
 begin 
     FileMode:=0; 
     AssignFile(MyFile, filename); 
     Reset(MyFile, 1); 
     while not eof(MyFile) do begin 
     blockread(MyFile,buff,sizeof(buff),n); 
     send(s,buff,sizeof(buff),0); 
 //  sleep(5); 
     end; 
 writeln('Sended'); 
 end; 
 function InstallConnect : boolean; 
 begin 
 WSAStartup(MakeWord(2, 0), WSA); 
 s := Socket(PF_INET, SOCK_STREAM, 0); 
 addr.sin_family := AF_INET; 
 addr.sin_port := htons(port); 
 addr.sin_addr.S_addr := inet_addr(ip); 
 if (connect(s, Addr, SizeOf(Addr)) = 0) then 
 result:=true else result:=false; 
 end; 
 procedure Close; 
 begin 
 CloseSocket(s); 
 WSACleanup; 
 end; 
 begin 
 If InstallConnect then 
 SendFile(name); 
 Close(); 
 readln; 
 end.
   Сервер (получатель): 
 
Code
program Project1; 
 {$APPTYPE CONSOLE} 
 uses 
     windows, 
     winsock; 
 const 
 Port = 2222; 
 name = 'D:\111.exe'; 
 var 
 WSA:TWSADATA; 
 Sock, lst_sock:TSocket; 
 addr:TSockAddr; 
 f:file; 
 buf:array[1..127] of byte; 
 procedure write;                      
 begin 
 while recv(sock,buf,127,0)>0 do 
 blockwrite(f,buf,sizeof(buf)); 
 end; 
 procedure Install; 
 var 
 f:file; 
 begin 
     WSAStartup(MakeWord(2, 0), WSA); 
     sock := socket(PF_INET, SOCK_STREAM, 0); 
     addr.sin_family := PF_INET; 
     addr.sin_port := htons(2222); 
     addr.sin_addr.s_addr := INADDR_ANY; 
     bind(sock, addr, sizeof(addr)); 
     listen(sock, SOMAXCONN); 
     lst_sock := accept(sock, nil, nil); 
 FileMode:=2; 
 AssignFile(f, name); 
 Rewrite(f, 1); 
 while recv(lst_sock,buf,127,0)>0 do begin 
 writeln('Downloading...'); 
 blockwrite(f,buf,sizeof(buf)); 
 end; 
 CloseFile(f); 
 writeln('File recved'); 
 readln; 
 end; 
 begin 
 randomize(); 
 Install; 
 end. 
 
   © Gravitas