Sockets Stream - aceito qualquer dica
[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
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
Curtidas 0
Respostas
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
19/12/2005
Você pode usar SendStream normalmente, porém, para receber usa-se ReceiveBuf e ReceiveLength.
GOSTEI 0
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;
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