في حدث وصول بيانات جديده قمنا بالتعريف عن متغير من النوع 5171090 الذي يستقبل قسم نصيه واستخدمنا
الخاصيه 6610218 التي تجلب لنا البيانات المستقبله ووضعناها داخل المتغير والان في هذه المرحله اصبح
المتغير يتحمل النص المرسل او ايا كان الشيء المرسل وفي السطر التالي قمنا باعطاء النص لمربع النص لككن مع
ابقاء النص السابق واضافة سطر جديد وبعدها وضع النص الجديد هنا قمنا بالانتهاء من تصميم برنامج الخادم وسوف
يعمل بكل نجاح لتجربته يمكننا عمل برنامج العميل الان الذي سوف يكون ابسط من جميع النواحي فسوف يحتوي
فقط على مربغ نص وزر امر لارسال البيانات سوف تكون الفكره هي ان يقوم البرنامج بانتضار الاتصال على منفذ
معين فور تشغيله وقبول الاتصال الذي ياتيه وارسال واستقبال البيانات كما في الصورة السابقه الان اولا نقوم بالبدء
بكود انتضار الاتصال الذي سوف يكون كالاتي
وفي حدث تفعيل النافذه قمنا بالسطر الاول بتحديد رقم البورت وسوف يكون نفسه الذي حددنه في برنامج الخادم حتى
والذي سوف يكون كالاتي
كان يتخاطر على بالك لما كتبنا 1601165110 فسوف يكون الجواب هو ان المتغير 1601165110 يحمل داخله
قيمة وهي من الجهاز الذي يود الاتصال بنا وعند قبول اتصال علينا ان نحدد الجهاز الذي يريد الاتصال بنا اتصور
الان ان الفكرة اصبحت واضحه بالنسبه لكود ارسال البيانات واستقبالها لن يكون مختلف عن الاكواد السابقه في جهاز
وكود استقبال البيانات بالشكل الاتي
مع العلم اننا لو اردنا تجربة البرنامج الان على جهازنا هذا سوف نكتب برقم الايبي في مربع النص 070/1 ,1717
وهو الايبي الافتراضي لاي جهاز وبالنسبه لمعرفة ايبي جهازك فيمكنك استخدام الكود الاتي
وهنالك معلومه اخرى وهي اقصى حد لرقم البورث هو ما يقارب 60 850+
سنبدأ على بركة الله بشرح طريقة نقل الملفات عن طريق أداة ال 11/109006 ؛ من الخادم إلى العميل» و تشغيلها إذا
كان امتداد الملفج:«6.
ثم عمليا؛ و بطريقة مبسطة و سهلة للفهم...
أولا ساشرح لكم الخطوات التي نتبعها لإرسال أي ملف من العميل إلى الخادم.
إن نقل ملف صغير الحجم (أي بين ١ إلى ٠٠١ بايت) عملية سهلة جداء و لكن ماذا لو كان الملف حجمه أكبر من
نا... يجب علينا في هذه الحالة تقسيم الملف إلى عدة أجزاء و نقل كل جزء على حدة؛ و عندما يستقبل
___كيف يمكننا تقسيم ا
في هذه الفقرة يجب تعلم كيفية تقسيم الملف إلى أجزاء بحيث يستطيع الوينسوك نقلها. أي يجب فتح الملف المعني
اسأقوم بشرح كل ما يخص فتح الملف بصيغة 81081 لكي يصبح لنا حرية التعامل مع
إن فتح الملفات بصيغة /:81/18 هي عملية. مثنهالثل قبع الات بصيفة عشوادية أو تسلسليةء و لتم غلية
الفتح بصيغة :8108 على الشكل التالي:
يف متغير © و وضعنا فيه قيمة معينة موجودة في التابع 1161000 حيث يحمل هذا التابع قيمة معينة
اءة عدد معين من المحارف أو البايتات على الشكل التالي:
عرفنا في هذا الكود متغير 5 ليحمل قيمة المحارف أو البايتات المقروءة من الملف؛ و من ثم حددنا أننا نريد قراءة
٠ بايت من الملف من خلال السطر الثاني و في السطر الأخير قمنا بوضع البايتات ال ٠٠١ في المتغير5
و أيضا يجدر بي أن أنوه أن سطر قراءة البيانات. ثلاث خانات: و هي:
(1أو خانة ونا فيها امتغير م و الذي بحمل قيمة تعريف الملف.
(3الخانة الثالثة و الأخيرة نضع فيها المتغير الذي سيحمل البايتات المقروءة.
لذلك يجب علينا معرفة كيف يمكن حساب عدد بايتات الملف؛ و هي عن طريق تابع معين و هو:
الآن علينا تعلم كيفية الكتابة لملف بصيغة 81080 و هي عملية تشبه عملية القراءة كثيرا .
إن كود الكتابة هو:
و نلاحظ أن الأمر 04 أيضا له ثلاث خانات بعده؛ و هي:
(1أول خانة لنضع الرقم الذي يعبر عن الملف]
(2الخانة الثانية لتحديد مكان بدء الكتابة.
(3الخانة الثالثة لتحديد البيانات التي نريد كتابتهاء
أظن أننا الآن تعلمنا كفاية معظم خصائص فتح و قراءة الملف بصيغة 810183 و بقي علينا تطبيق ما تعلمناه.
برمجث لكم برنامج بسيط جدا لإرسال ملفات من النوع 6*8 فقط و هو موجود في الملفات المرفقة. و سأتطرق لشرح
أولا البرنامج مؤلف من خادم و عميل؛ حيث يقوم العميل بالإتصال بالخادم؛ و ينشأ اتصال بينهما. و من العميل نختار
الملف الذي نريد إرساله ثم نضغط زر إرسال. هذه هي فكرة البرنامج كاملة.
عند الضغط على الزر إرسالء يتنفذ معنا الكود التالي:
إذا كان لا يوجد اتصال '
"إنت غير متصل مع الخادم" *مقوعلة
تجزيء الملف و نقل كل جزء على حدة '
"جاري تحميل الملف" - ممقعاصة6. 151805
عم لعفمته عو تطغ 00
مار
5 قمع
"لقد تم تحميل الملف بنجاع" - ممخعاصة6. 1518605
القيم المقروءة من الملف.
و من ثم نقوم باختبار حالة الإتصال للأداة 6ا©11/10500 فإذا كان الإتصال غير قائم نقوم بإظهار رسالة بهذا الأمر ثم
ننهي الإجراء..
بعد ذلك قمنا بتحديد رقم الملف؛ و قمنا بفتحه بصيغة :81108 من خلال القسم التالي:
"جاري تحميل الملذ» ج ممتعاصة6. 0ه 186ط1
مار
(1024 قاد (2) 5080607 < 5
نرسل الجزء الأخير المكون من ©١ بايت.
سأتطرق قليلا لموضوع خارجي عن عملية القسمة لفهم أكثر للعملية.
(بدون باقي (يعني / هذه العملية تعطينا الناتج' 25١3
(8.3333333333 هذه العملية تعطينا الناتج كاملا ( يعني 3 / 25
الآن راقبو السطر الأول من كود إرسال الملف:
كيلوبايت و 7؛ بايت؛ فإن الحلقة تكون من ١ إلى4.
في الأسطر التالي:
5 مه مهمع .لله ممصفا
نقوم بقراءة أول ٠١74 بايت من الملف و نرسله عبر أداة الوينسوك؛ و من ثم يتم تنفيذ إجراء ) 1161346 سأكتب
كود هذا الأجراء لاحقاز
ما هو عمل هذا الإجراء©116181© ؛ إن عمله هو تأخير إرسال الجزء التالي حتى يرسل الجزء الأول كاملا. لأنه على
فإنه يصل للطرف الآخر على الشكل" 8.5" ٠ لذلك قمنا بوضع الإجراء 1181218 لينتظر حتى يتم إرسال الجزء الأول»
و من ثم يقوم بإكمال الحلقة و إرسال الجزء التالي. و هكذا حتى يتم إرسال كامل الأجزاء.
ناقصا في الطرف الآخر.
5 5608026 . ليله معصفا
قمع
مسبقا فإن 1024 1400 (01)5 يعطينا الباقي من البايتات. فنقوم بتفريغ مساحة في المتغير 5 بعدد البايتات.
من أول بايت من الباقي بطول عدد البايتات المتبقية. و نرسل هذه البايتات.
أولا نعرف متغير من النوع 8001681 في قسم التصريحات العام حيث سيحمل هذا المتغير قيمة 731/6 إذا تم إكمال
إرسال جزء معين؛ و 8156 عند بدء إرسال أي جزء...
قنع - 5604-0166
حيث يتم هذا الحدث عند يتم إنهاء إرسال شيء معين للأداة.
و كما لاحظتم إننا وضعنا الكود التالي ضمن إجراء إرسال الملف:
و على أساس هذا المتغير: نكتب الإجراء 21161216 على الشكل التالي:
إجراء لتأخير وقت إرسال أي جزء من الملف '
إلى أن يرسل الجزء الذي قبله تماما'
() ممتع 11 طاع مخلطوط
علينا كتابة هذا الإجراء ضمن كود العميل؛ حيث أنه يقوم بعمل حلقة فارغة (فقط لتضييع الوقت) طوال فترة قيمة
©5815 - ©5000001770161؛ إي طوال فترة إرسال جزء معين+ د د يتم إنهاء هذه الحلقة عندما تصبح قيمة المتغير
©؟؛ ليعود التنفيذ إلى حلقة إرسال الأجزاء و تكمل عملها... و هكذا.
و أخيراء في آخر كود الإرسال نلاحظ السطر التالي:
و الذي يقوم بإرسال عبارة معينة لخادم يخبره بها بأنه انتهى من إرسال الملف.
و بهذا انتهينا من شرح إرسال الملف من العميل. 0
ننتقل إلى شرح كود الخادم في استقبال الملفء و هو كود أسهل بكثير من كود الإرسال...
في الحدث 81/ة0248/8:7 للأداة وينسوك في برنامج الخادم, كتبنا الكود التالي:
وماج عط عدم
علطم
معدم معدم اناه معملطط