كيف نقل ملفات عبر الانترنت بمكونات الSocket ؟
#1
كيف يمكن نقل ملف عبر الانترنت بواسطة برنامجين يعملان بواسطة مكونات السوكت سارفر و الكليونت
لقد راجعت موضوع من المنتدى واتبعته حرفيا الا اني لم استطع الاكمال معه لم أفهمه جيدا.
وشكرا.
الرد
#2
السلام عليكم ورحمة الله وبركاته

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

بالتوفيق.
*** من حسن اسلام المرء تركه ما لا يعنيه ***
الرد
#3
و عليكم السلام و رحمة الله
مرحبا بك أخي صهيب في المنتدى
كود :
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
الرد
#4
السلام عليكم و رحمة الله تعالى وبركاته
شكرا جزيلا و أنا جد مسرور بترحيبكم
و أنا أسف لتأخري عن الرد , فقد اطلعت على الرد اليوم فقط ,فانا أعاني من صعوبة في الاتصال بالشبكة.
الرد
#5
البرنامج يحتوي على clientSocket1 والثاني على مكون serverSocket1 كلاهما برنامج شات شبيه بالسكايب
كيف يرسل الاول الذي يحتوي على serverSocket1 ملف الى الثاني بعد اختيار اسمه او رقم IP من قائمة Listviewr1
الى الثاني الذي يحتوي على clientSocket1 ويكون بمقدور الثاني الحرية في مكان الحفظ , فهما برنامجين منفصلين تجمعهما شبكة الانترنت .
الرد
#6
السلام عليكم
أنظر في المرفقات


الملفات المرفقة
.rar   Send a File.rar (الحجم : 7.31 ك ب / التحميلات : 76)
الرد
#7
قيد التجربة و شكرا جزيلا ..
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم