Einzelnen Beitrag anzeigen

flossinger

Registriert seit: 22. Aug 2005
Ort: südlich der Alpen
109 Beiträge
 
Delphi 5 Standard
 
#4

Re: wie versende ich mit tclient/serversocket eine datei?

  Alt 9. Sep 2006, 11:58
Du hast da ein paar falsche Annahmen über das Funktionieren der Sockets. Ist kein Wunder, sie sind schlecht dokumentiert. Sei froh, sie funktionieren viieel einfacher, als du glaubst.

Ein kleines Demobeispiel, das grundlegende Funktionen zeigt:
Delphi-Quellcode:
procedure log(text:string);
begin
form1.memo1.lines.add(text);
end;

procedure TForm1.Button1Click(Sender: TObject);
var stream1:tfilestream;filename:string;
begin
filename:= 'C:\irgendeinPfad\test.txt';
stream1:=tfilestream.Create(filename,fmOpenRead or fmShareExclusive);
serversocket1.Socket.connections[0].SendStream(stream1);
end;

procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
begin
log(socket.receivetext);
end;
Wenn empfangen wird, wird das read ereignis ausgelöst. Zum Zeitpunkt connect Ereignis kannst du noch nichts auswerten. Connect sagt nur, dass die Verbindung steht, nicht das Daten da sind.

grüsse,
der flossinger
  Mit Zitat antworten Zitat