Hi,
ich möchte einen Filestream in kleine Stücke zerteilen, anschliesend eine Stringzeichenfolge an den anfang setzten und mit dem Clientsocket verschicken:
Delphi-Quellcode:
Client:
var
Fstream:TFileStream;
Buffer: array[0..4095] of Byte;
begin
Fstream:=TFileStream.Create('D:\a.mp3', fmOpenRead or fmShareDenyWrite);
Fstream.read(Buffer,sizeof(Buffer));
// blos wie schreibe ich einen String an den anfang?
cs.Socket.SendBuf(Buffer,sizeof(Buffer));
end;
Server:
procedure TForm1.ssRead(Sender: TObject; Socket: TCustomWinSocket);
var
s_temp:AnsiString;
i_size:integer;
begin
i_size:=socket.ReceiveLength;
SetLength(s_temp, i_Size);
socket.ReceiveBuf(s_temp[1],i_size);// so lese ich das dann wieder aus
// es wäre super wenn man die Stringfolge lesen könnte als wenn es ein string ist
end;
das zusammensetzten sollte ja nicht das Probelem sein das müsste ja mit Fstream.write sein!? oder gibt es da etwas spezielles zu beachten?
dieses sind natürlich nur Codeschnipsel das mit der Verbindung funktioniert alles einwandfrei!
mfg
gandime