我在客户端定义了一个结构
 TKunStreamBlock= record
          stype,
          Command:string[100];
          Stream:Tmemorystream;          
          end;
其中stream存放的是图片和文字的内容的流,问题是现在怎样发送到服务端中去,下面的代码在服务端可以收到Stype和Command的值,但是Stream的值不能收到
客户端:
 KunStreamBlock.stype:='MSG';
  KunStreamBlock.Command:='SEND';
  KunStreamBlock.Stream:=TmemoryStream.create;
 RichEditClient.Lines.SaveToStream(KunStreamBlock.Stream);
 KunStreamBlock.Stream.Position:=0;
  //   准备缓冲区数据
  stream:=TMemorystream.Create;
  stream.writeBuffer(KunStreamBlock,SizeOf (KunStreamBlock));
  TCPClient1.WriteStream(stream,true,true,SizeOf (KunStreamBlock));  FreeAndNil(stream);
  FreeAndNil(KunStreamBlock.Stream);服务端:
  procedure TForm1.TCPServer1Execute(AThread: TIdPeerThread);
  var stream:Tmemorystream;
  KunStreamBlock:TKunStreamBlock;
begin
 try
   if not AThread.Terminated and AThread.Connection.Connected then
    begin
      stream := TMemoryStream.Create;
      AThread.Connection.ReadStream(stream,-1);
      stream.Position := 0;
      stream.ReadBuffer(KunStreamBlock,sizeof(KunStreamBlock));
      Edit1.Text:=KunStreamBlock.stype+'->'+KunStreamBlock.Command;
      RichEditServer.Lines.LoadFromStream(KunStreamBlock.Stream);
      FreeAndNil(stream);
   end;
 except
 end;
如果客户端和服务端是在同一个程序里面是没有问题,可以接收全部数据,但是单服务端是另外的程序就接收不到数据了