bernddasbrot2
Goto Top

Bilder etc. via Socket versenden

Guten Morgen,

ich bin ein blutiger C++-Anfänger und sitze nun schon seit einiger Zeit an einem Programm, das Dateien von einem Rechner auf einen anderen übertragen soll. Die Verbindung per Socket steht schon und funktioniert schon alles.

Aber ich weiss eben nicht, wie ich ganze Bilder, Videos, oder überhaupt Dateien, deren Format vielleicht unbekannt ist verschicken kann. Bei Textdateien, hätte ich das ganze so realisiert, damit ich die Dateien Zeile für Zeile in einen Puffer einlese, verschicke und dann am anderen Ende wieder Zeile für Zeile in eine Datei schreibe. Aber bei .jpg, .avi & co. funktioniert das ja nicht.

Kann mir jemand helfen? Vielen Dank im Voraus
Euer Bernd

Content-Key: 89905

Url: https://administrator.de/contentid/89905

Ausgedruckt am: 28.03.2024 um 10:03 Uhr

Mitglied: 31640
31640 01.07.2008 um 20:48:58 Uhr
Goto Top
Hallo

Du musst nur die SendSteam Funktion verwenden.
Davor musst Du die Datei in ein Stream laden.

Client:
TMemoryStream *FileStream=new TMemoryStream();
FileStream->LoadFromFile(FilePath);
ClientSocket->SendStream(FileStream);

Server:
void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender,
	  TCustomWinSocket *Socket)
{
	int BufferSize = Socket->ReceiveLength();
	Pointer Buffer = GetMemory(BufferSize);
	Socket->ReceiveBuf(Buffer,BufferSize);
	TMemoryStream *FileStream=new TMemoryStream();
	FileStream->WriteBuffer(Buffer,BufferSize);
}
Mitglied: BernddasBrot2
BernddasBrot2 02.07.2008 um 14:17:17 Uhr
Goto Top
Danke, genau das hab ich gesucht.