Estoy usando los sockets que vienen en la paleta Internet, TClientSocket y TServerSocket
Otra cosa, ya habia probado a hacer lo que me sugieres pero me sigue pasando lo mismo...
Pongo aqui el codigo del cliente a ver si es que se me esta pasando algo...
Código Delphi
[-]
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
var
datos:widestring;
begin
lbres.clear;
datos:=socket.ReceiveText;
lbres.Items.text:=lbres.Items.text+datos;
end;
Y aqui el del servidor...
Código Delphi
[-]
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
i,j:integer;
dir, orden, ruta, nom, ext:string;
begin
orden:=socket.ReceiveText;
memo1.lines.add(orden);
if pos('lista',orden)=1 then
begin
ruta:=copy(orden,pos('!',orden)+1,(pos('¡',orden)-1)-pos('!',orden));
nom:=copy(orden,pos('¡',orden)+1,(pos('.',orden)-1)-pos('¡',orden));
ext:=copy(orden,pos('.',orden)+1,3);
if nom='' then nom:='*';
if ext='' then ext:='*';
FindFile1.Path:=ruta;
FindFile1.FileMask:=nom+'.'+ext;
Lbres.items:=FindFile1.SearchForFiles;
socket.SendText(lbres.Items.text);
end
Findfile es un componente para buscar ficheros y los devuelve en una Stringlist...¿Tendrá algo que ver...?
Voy a intentarlo con el Indy TCPClient, que nunca he usado y por lo leido aqui deben ser mejores...