delphi4arab منتديات دلفي للعرب

نسخة كاملة : كيف نقل ملفات عبر الانترنت بمكونات الSocket ؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
كيف يمكن نقل ملف عبر الانترنت بواسطة برنامجين يعملان بواسطة مكونات السوكت سارفر و الكليونت
لقد راجعت موضوع من المنتدى واتبعته حرفيا الا اني لم استطع الاكمال معه لم أفهمه جيدا.
وشكرا.
السلام عليكم ورحمة الله وبركاته

انظر هذا الموضوع
http://www.delphi4arab.net/forum/showthread.php?tid=147

بالتوفيق.
و عليكم السلام و رحمة الله
مرحبا بك أخي صهيب في المنتدى
كود :
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ScktComp, StdCtrls; type TForm1 = class(TForm) ClientSocket1: TClientSocket; ServerSocket1: TServerSocket; btnTestSockets: TButton; procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure ClientSocket1Disconnect(Sender: TObject; Socket: TCustomWinSocket); procedure ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); procedure ServerSocket1ClientConnect(Sender: TObject; Socket: TCustomWinSocket); procedure btnTestSocketsClick(Sender: TObject); private FStream: TFileStream; { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); var iLen: Integer; Bfr: Pointer; begin iLen := Socket.ReceiveLength; GetMem(Bfr, iLen); try Socket.ReceiveBuf(Bfr^, iLen); FStream.Write(Bfr^, iLen); finally FreeMem(Bfr); end; end; procedure TForm1.FormCreate(Sender: TObject); begin FStream := nil; end; procedure TForm1.FormDestroy(Sender: TObject); begin if Assigned(FStream) then begin FStream.Free; FStream := nil; end; end; procedure TForm1.ClientSocket1Disconnect(Sender: TObject; Socket: TCustomWinSocket); begin if Assigned(FStream) then begin FStream.Free; FStream := nil; end; end; procedure TForm1.ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); begin FStream := TFileStream.Create('c:\temp\test.stream.html', fmCreate or fmShareDenyWrite); end; procedure TForm1.ServerSocket1ClientConnect(Sender: TObject; Socket: TCustomWinSocket); begin Socket.SendStream(TFileStream.Create('c:\temp\test.html', fmOpenRead or fmShareDenyWrite)); end; procedure TForm1.btnTestSocketsClick(Sender: TObject); begin ServerSocket1.Active := True; ClientSocket1.Active := True; end; end.
من الموقع
كود :
http://www.delphitricks.com/source-code/internet/send_a_file_from_a_tserversocket_to_a_tclientsocket.html
السلام عليكم و رحمة الله تعالى وبركاته
شكرا جزيلا و أنا جد مسرور بترحيبكم
و أنا أسف لتأخري عن الرد , فقد اطلعت على الرد اليوم فقط ,فانا أعاني من صعوبة في الاتصال بالشبكة.
البرنامج يحتوي على clientSocket1 والثاني على مكون serverSocket1 كلاهما برنامج شات شبيه بالسكايب
كيف يرسل الاول الذي يحتوي على serverSocket1 ملف الى الثاني بعد اختيار اسمه او رقم IP من قائمة Listviewr1
الى الثاني الذي يحتوي على clientSocket1 ويكون بمقدور الثاني الحرية في مكان الحفظ , فهما برنامجين منفصلين تجمعهما شبكة الانترنت .
السلام عليكم
أنظر في المرفقات
قيد التجربة و شكرا جزيلا ..