打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
INDY流的发送和接收
userphoto

2013.04.30

关注

发送

try
    s := 'Hello world!';
    stream := TStringStream.Create(s);
    IdTCPClient1.OpenWriteBuffer;
    IdTCPClient1.WriteInteger(stream.Size);//注意这里:要先写入流的长度,在读取的时候如果使用      AThread.Connection.ReadStream(stream);
    IdTCPClient1.WriteStream(stream, true);
  finally
    IdTCPClient1.CloseWriteBuffer;
    stream.Free;
  end;

接收

procedure TServerForm.IdTCPServer1Execute(AThread: TIdPeerThread);
var stream: Tstream;
begin

  if not AThread.Terminated and AThread.Connection.Connected then
  begin
    stream := TStringStream.Create('');

    AThread.Connection.ReadStream(stream);//这句相当于ReadStream(stream,-1,false),就是根据流的前四个字节读出流长度,然后再将流读出
    stream.Position := 0;
    Memo1.Lines.LoadFromStream(stream);

  end;

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
delphi使用IdTCPServer、TIdTCPClient收发消息
让IdTCPServer&IdTCPClient的应用穿透NAT
TIdTCPServer的OnExecute中的AThread.Connection.WriteBuffer();是如何用的?在IdTCPClient1端是如何接收到该数据的呢?
[深入浅出Cocoa]iOS网络编程之NSStream
使用 idHTTP 获取 UTF
delphi 解决delphi indy10下 utf8码转换的问题
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服