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

نسخة كاملة : كيف يمكنني حفظ جميع الصور من الـ Clients
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم جميعا
شباب عندي مشكلة في حفظ الصور من الClients
على سبيل المثال 2 كلاينت يرسلون في نفس الوقت صورتين, كيف احفظ الصورتين ؟
ستحفظ صورة واحدة فقط !!
هذا كود الاستقبال في السيرفر
كود :
procedure TForm3.IdTCPServer2Execute(AContext: TIdContext); var fs: TFileStream; begin fs := TFileStream.Create('C:\Documents and Settings\Admin\Desktop\pic\55.png', fmCreate); AContext.Connection.IOHandler.ReadStream(fs, -1, True);
كود يحفظ كلا صورتيتن لاكنك استعملت نفس الاسم لكلا الصورتين فتحفظ الثانية على الاولى و تختفي الاولى
استعمل اسم دينامكي متربط مع AContext الممرر ك رقم ثريد مثلا
Houdini كتب :كود يحفظ كلا صورتيتن لاكنك استعملت نفس الاسم لكلا الصورتين فتحفظ الثانية على الاولى و تختفي الاولى
استعمل اسم دينامكي متربط مع AContext الممرر ك رقم ثريد مثلا

بالفعل أخي يحفظ فوق الأولى, للأسف هذه اول مره أتعامل مع مكونات Indy
لا أفهم هذاالسطر استعمل اسم دينامكي متربط مع AContext الممرر ك رقم ثريد مثلا
شكرا جزيلا
اوكي اخي راه فهمك بعض امور اساسية في عمل اندي حتى تستوعب امور من اساسها

اندي تعمل بنظام ارسال blocking يعني في سطر ارسال شيئ ما
لن يتم تنفيد سطر الي يليه حتى يتم ارسال بالكامل للبيانات عبر سوكت لدى و لتجنب توقف برنامج عن عمل قاموا بتطوير بجعل عمليات ارسال تتم عبر ثريد لكل زبون متصل يعني كل زبون له ثريد وحده فعند ارسال ستوقف عمل ثريد فقط و لن يتوقف عمل برنامج

اوكي الحين لكل زبون ثريد فادا تعدد زبائن تعددة ثريدات فاستوجب الامر عمل بنية يتم حفظ فيها معلومات كل زبون كرقم ثريد تبعه و رقم قنات اتصال و ايبي تبعه و بورت و غيرها و هته البنية تممر لك في دالة .IdTCPServerExecut من نوع TIdContext

انت حين يمكنك وصول لمعلومات زبونك عبر هته البنية - انت تستعمل اندي 10 وانا استعمل اندي 9 فالبنية مختلفة حسبما ارى - فيمكنك ان تحصل على رقم ثريد منها و تضيفه لاسم صورة حتى تحصل على اسم مختلف حسب كل زبون

هدا كل ما في الامر و انا اختصرت كل هدا في سطر السابق فقط ^^
جميل, شرح وافي وكافي, فهمت آلية عمل هذه المكونات, شكرا لك أخي