Entwickler-Ecke

Internet / Netzwerk - Dateien senden per Socket?


Asus - Sa 21.07.07 19:16
Titel: Dateien senden per Socket?
Hi,
und zwar hab ich schon suche bneutzt und das gefunden:
http://www.delphi-forum.de/viewtopic.php?t=22802&highlight=socket%20datei%20senden

Und zwar hab ich einen Chat Client und Server.
Und nun möchte ich von Client an Server dateien Senden.
Den Server hat mein Kumpel und ich den Client und da wir viel bei MyVideo... auch Videos Runterladen wollen wir sie so Tauschen.

Das hab ich beim Client:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure TForm1.Button6Click(Sender: TObject);
var
 FStream: TFileStream;
begin

FStream := TFileStream.Create('C:\Film.flv', fmOpenRead);
ClientSocket5.Socket.SendStream(FStream);
 end;


und das hat er beim Server:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
procedure TForm1.ServerSocket5ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var 
 FStream: TFileStream; 
 SizeOfFile: Integer; 
 pBuffer: Pointer; 
begin 


 if SaveDialog1.Execute then 
  begin 


  FStream := TFileStream.Create(SaveDialog1.FileName, fmCreate or fmOpenWrite); 
  SizeOfFile := Socket.ReceiveLength; 
  GetMem(pBuffer, SizeOfFile); 
  try 
   Socket.ReceiveBuf(pBuffer^, SizeOfFile); 
   FStream.Write(pBuffer^, SizeOfFile); 
  finally 
   FreeMem(pBuffer); 
   FStream.Free;
  end;
   end


end;

PS: Das ganze läuft ohne User List ist alles direckt!

Was machen wir falsch bei mir kommt erst gar nix an.

MFG Asus


Timosch - Sa 21.07.07 21:27

Du weißt, dass du bei den Socket-Komponenten die Ziel-IP angeben musst? Wenn ihr nicht gerade zusammen in einem Netzwerk hängt, dürfte es schwierig werden, am Router vorbei zu kommen.


Asus - Sa 21.07.07 22:00

Also beim Router sind Ports freigegeben wenn net macht er sie einfach frei.^^
Bzw. man kan ja auch ne andere metode nehmen aber PLS kein Indy(oder so)
Naja ich gehe gleich erstmal für ne Woche weg wenn ich wieder kommt gibts vl. nen paar antworten^^

BB

MFG Asus


Narses - Sa 21.07.07 22:58
Titel: Re: Dateien senden per Socket?
Moin und :welcome: im Forum!

user profile iconAsus hat folgendes geschrieben:
und zwar hab ich schon suche bneutzt und das gefunden:

Was auch immer du da für einen angestaubten Thread aus dem Hut gezogen hast (in dem das Problem übrigens auch gar nicht gelöst wurde), das hier scheinst du komplett übersehen zu haben: FAQ-Beitrag [http://www.delphi-library.de/topic_+eine+Datei+ueber+Sockets+verschicken_67648.html] zu genau diesem Problem. :mahn: :les: ;)

cu
Narses