المشاركات : 21
المواضيع 12
:
: 0
الإنتساب : Mar 2011
كيف يمكن نقل ملف عبر الانترنت بواسطة برنامجين يعملان بواسطة مكونات السوكت سارفر و الكليونت
لقد راجعت موضوع من المنتدى واتبعته حرفيا الا اني لم استطع الاكمال معه لم أفهمه جيدا.
وشكرا.
المشاركات : 32
المواضيع 10
:
: 0
الإنتساب : Jan 2011
السلام عليكم ورحمة الله وبركاته
انظر هذا الموضوع
http://www.delphi4arab.net/forum/showthread.php?tid=147
بالتوفيق.
*** من حسن اسلام المرء تركه ما لا يعنيه ***
المشاركات : 316
المواضيع 64
:
: 1
الإنتساب : Apr 2009
و عليكم السلام و رحمة الله
مرحبا بك أخي صهيب في المنتدى
كود :
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
المشاركات : 21
المواضيع 12
:
: 0
الإنتساب : Mar 2011
السلام عليكم و رحمة الله تعالى وبركاته
شكرا جزيلا و أنا جد مسرور بترحيبكم
و أنا أسف لتأخري عن الرد , فقد اطلعت على الرد اليوم فقط ,فانا أعاني من صعوبة في الاتصال بالشبكة.
المشاركات : 21
المواضيع 12
:
: 0
الإنتساب : Mar 2011
البرنامج يحتوي على clientSocket1 والثاني على مكون serverSocket1 كلاهما برنامج شات شبيه بالسكايب
كيف يرسل الاول الذي يحتوي على serverSocket1 ملف الى الثاني بعد اختيار اسمه او رقم IP من قائمة Listviewr1
الى الثاني الذي يحتوي على clientSocket1 ويكون بمقدور الثاني الحرية في مكان الحفظ , فهما برنامجين منفصلين تجمعهما شبكة الانترنت .
المشاركات : 316
المواضيع 64
:
: 1
الإنتساب : Apr 2009
السلام عليكم
أنظر في المرفقات
الملفات المرفقة
Send a File.rar (الحجم : 7.31 ك ب / التحميلات : 76)
المشاركات : 21
المواضيع 12
:
: 0
الإنتساب : Mar 2011
قيد التجربة و شكرا جزيلا ..