Einzelnen Beitrag anzeigen

Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Indy10 MemoryStream senden/empfangen

  Alt 18. Apr 2012, 11:51
@bernhard_LA:

Ich habe gerade mal kurz in Deinen Source im SVN -Link geschaut,
dabei ist mir aufgefallen das Du :
Delphi-Quellcode:
  public
    { Public declarations }
    aFS_s: TmemoryStream;
    aFS_r: TmemoryStream;

    file_send : String;
    file_receive : String;
  end;
die Steams & Co global in der Form deklariert hast?!
Dir ist schon klar das das TCP-Server-OnExecute Event :
Delphi-Quellcode:
procedure TStreamServerForm.IdTCPServer1Execute(AContext: TIdContext);
begin

  ///
  afS_s:= TmemoryStream.Create;

  afS_r:= TmemoryStream.Create;

  Memo1.Lines.Add('Server starting .... ');

  Image1.Picture.Bitmap.SaveToStream(aFS_s);

  aFS_s.Seek(0,soFromBeginning);

  // .... snip
mehrfach und parallel eintritt ?
Du wirst mit Sicherheit ein Problem bekommen wenn mehrere Clients gleichzeitig zum Server connecten!
Du MUST die entsprechenden Streams auf jedem Fall lokal im OnExecute des Server deklarieren,
damit diese pro Client separat erzeugt werden.

Gruß Jan
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat