Sockets Stream - aceito qualquer dica

Delphi

19/12/2005

[b:752069f24e]Bom dia a todos...[/b:752069f24e]

Alguem saber enviar/receber Stream com Sockets ???

Obs. Para conhecer sockets, [url=http://www.activedelphi.com.br/modules.php?op=modload&name=News&file=article&sid=249&mode=thread&order=0&thold=0]clique aki[/url].

Se não houver uma solução para o TSocket, aceito uma solução com outro componente, mas gostaria q fosse nativo do Delphi.

Abraços


Aloizio Castro

Aloizio Castro

Curtidas 0

Respostas

Ipc$

Ipc$

19/12/2005

É, esses componentes implementam a função SendStream mas não implementam a função ReceiveStream. Acho que é pq ReceiveStream teria que saber quanto ele irá ler e não sabe. Não estou certo, mas creio que vc terá que utilizar o objeto TWinSocketStream para enviar e receber Streams. Para mim é mais facil utilizar SendBuf e ReceiveBuf.


GOSTEI 0
Firekiller

Firekiller

19/12/2005

Você pode usar SendStream normalmente, porém, para receber usa-se ReceiveBuf e ReceiveLength.


GOSTEI 0
Firekiller

Firekiller

19/12/2005

Para enviar:

ClientSocket.SendStream( SeuStream );



Para receber:

var
buf:String;
tm:Integer;

tm := ServerSocket.ReceiveLength;
while tm > 0 do begin
ServerSocket.ReceiveBuf( buf , tm );
SeuStream.Write( buf , tm );
Sleep(200);
tm := ServerSocket.ReceiveLength;
end;


GOSTEI 0
POSTAR