Array
(
)

Sockets Stream - aceito qualquer dica

Rcasistemas
|
MVP
    19 dez 2005

Bom dia a todos...

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


Ipc$
   - 19 dez 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.


Firekiller
   - 19 dez 2005

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


Firekiller
   - 19 dez 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;