Einzelnen Beitrag anzeigen

SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#1

ServerSocket & ClientSocket Stream

  Alt 9. Jun 2014, 15:35
Guten Tag zusammen,
ich bin gerade dabei eine Server, Client - Anwendung zu schreiben.
Dazu benutze ich die Komponenten ServerSocket und ClientSocket.

Nun möchte ich eigentlich gerne ein Record bzw. alternativ ein Array of String versenden.
Und zwar vom Server zum Client.

Dazu benutze ich folgenden Code im ServerSocket:
Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
var paramRec: TParamRec;
    ms: TMemoryStream;
    ar: Array [0..4] of String;
begin
  ms := TMemoryStream.Create;
  paramRec.param1 := 'Hello';
  paramRec.param2 := 'World';
  ms.Write(paramRec, SizeOf(paramRec));
  ms.Position := 0;
  ServerSocket1.Socket.Connections[0].SendStream(ms);
end;

Das Problem ist, dass ich nicht weiß, wie ich dem Stream im ClientSocket abfange.
Ich hab es jetzt mal so vesucht, aber bekomme ich da nichts gescheites bei raus, bzw. weiß nicht, wie ich den Stream wieder zu nem Record bekomme.
Alternativ wenns einfacher geht, würde auch ein Array of String gehen.

Delphi-Quellcode:
procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
var paramRec: TParamRec;
    ms: TMemoryStream;
begin
  ms := TMemoryStream.Create;
  ms.Position := 0;

  Socket.ReceiveBuf(ms, Socket.ReceiveLength);
end;
Ich hoffe, ihr könnt mir helfen.
Das Senden und Empfangen von einzelnen Strings via "SendText" funtkioniert wurnderbar.
  Mit Zitat antworten Zitat