منتدى برامج نت | برامج نت | دليل المواقع | العاب فلاش | برامج | عيادة الطب | Free software
العاب افلام موقع منتديات

المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : الأساس حول ال Winsock في الفجوال بيسك


alae001
12-03-2006, 10:31 PM
باسم الله الرحمان الرحيم.
السلام عليكم ورحمة الله تعالى و بركاته
سوف أتطرق في هذا الدرس الى أهم خصائص أداة ال winsock داخل الفجوال بيسك.

مقدمة
في الفجوال بيسك 6 فمهمة صيانة و تحسين الخصائص المرتبطة بالشبكات وخاصة الانترنت, موكلة للأداة المسماة "Microsoft Winsock" اللتي تشكل طريقة بسيطة و سريعة لتصميم برامج شبكاتية يسهل التعامل
معها (برامج الشات مثلا).

اضافة ال winsock الى مشروع الفجوال
لاضافة ال winsock الى المشروع نقوم بالضغط على ctrl+T بعد فتح مشروع جديد, بعد ذلك وفي قائمة المحتويات نختار Microsoft winsock control كما هو موضح في الشكل التالي :
http://img144.imageshack.us/img144/3289/winsockrz9.jpg

سوف يتم إضافة winsock إلى لائحة الأدوات المستعملة كما يلي :
http://img90.imageshack.us/img90/6411/winrk3.jpg

نقوم بعد ذلك بإضافتها إلى المشروع بالضغط مرتين متتاليتين على الزر الأيسر للفأرة.
http://img61.imageshack.us/img61/3162/adwinrf5.jpg

الآن أصبح بإمكاننا البداية بالبرمجة.

الخصائص الأساسية للأداة
ملاحظة : الخصائص التي سأذكرها الان مرتبطة بتصميم برنامج client وسأتطرق لاحقا في درس اخر الى الخصائص الاخرى وكيفية تصميم
سيرفر بالفجوال بيسك.
الان لنبدأ التعرف على اهم الخصائص :

: Connect هذه الخاصية للاتصال بجهاز اخر وذلك بتحديد اسم الجهاز وال port المستعمل
مثال :
Winsock1.Connect "ftp.microsoft.com",21
هنا نطلب من الأداة أن تتصل للسيرفر ftp.microsoft.com على البورت 21 وهو بورت ال ftp
كل بورت يلائم خدمة معينة وهذه لائحة بأهمها :
http://img120.imageshack.us/img120/6410/protocolsua2.jpg

: ()connect هذا الحدث وليس الخاصية السابقة الذكر يبدأ عند نجاح الاتصال مع السرفر
مثال :
Private Sub Winsock1_Connect()
Winsock1.SendData username$ & vbCrLf
End Sub


: SendData هذه الخاصية تمكن من ارسال المعطيات بعد نجاح الاتصال.
مثال :
Winsock1.SendData "Username" & vbCrLf

: DataArrival() هذا الحدث يتفعل من طرف الأداة في كل مرة تستقبل هذه الأخيرة معطيات, لقرائة المعطيات نستخدم الخاصية Getdata.

: GetData هذه الخاصية تستعمل لاستقبال المعلومات بعد نجاح الاتصال وهي في أغلبية الحالات تستعمل في الحدث DataArrival لتسيير المعلومات القادمة.
مثال :
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim strdata As String
Winsock1.GetData strdata
Output.Text = strdata
End Sub


: Close هذه الخاصية تستعمل لاغلاق الاتصال. يجب دائما استعمال هذه الخاصية عند اغلاق البرنامج لتجنب الأخطاء.
مثال :
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Winsock1.Close
End Sub


: LocalPort هذه الخاصية تستعمل لتحديد البورت المحلي الخاص بالجهاز, عادة هذا البورت يحدد اوتوماتكيا الا في حالة برنامج سرفر.


ملاحظة هامة : يتوجب على كل مستخدم لأداة الوينصوك ان يقوم باغلاق الاتصال لانه في حالة عدم القيام بذلك واعادة استعمال نفس الاداة فسنحصل على خطأ في الاتصال لان البورت المستعمل بقي مفتوحا وغير مستعمل مما يجعل من الاتصال ثانية بالسرفر شيئا مستحيلا.
واحسن مكان لغلق اتصال الاداة هي قبل بداية أي اتصال
مثال :
Winsock1.Close
Winsock1.LocalPort = 0
Winsock1.Connect hostname, 79


خاتمة
هكذا نكون قد اخذنا نظرة عامة عن اهم خواص أداة الوينصوك التي سوف نحتاجها لتصميم برنامج شبكاتي مبسط. ماعلينا الان الا القيام بتطبيق النظريات والتي حتما سنفهم من خلالها جيدا عمل الاداة.
أتمنى ان يكون الدرس قد افادكم ونال اعجابكم وسوف اقوم ان شاء الله بدرس مكمل لهذا الدرس وتطبيقات مبسطة لفهم عمل الأداة وانا في انتظار اقتراحاتكم ونقدكم.
والسلام عليكم ورحمة الله تعالى و بركاته.

الدرس موجود بالفرنسية على الرابط من هنا (http://grafikm.developpez.com/vbreseau/Lecon1/). انا قمت بالترجمة نظرا لاهمية هذه الأداة.

yassine
12-03-2006, 10:37 PM
شكرا لك اخي الكريم فعلا درس مفيد
جزاك الله خيرا

alae001
12-03-2006, 10:40 PM
شكرا لك أخي ياسين على المرور والرد. بارك الله فيك

veto_44
12-04-2006, 12:25 AM
بارك الله فيك اخي الحبيب مجهود رائع تستحق عليه التقدير والاحترام
جزاك الله عنا خيرا وننتظر المزيد من ابداعاتك لك خالص التقدير والاحترام .

Gangsta
12-04-2006, 12:45 AM
مشكور اخي على الموضوع
يعطيك الف عافية..

zakimoulayabdellah
12-04-2006, 01:01 AM
good friend
verry beautiful

alae001
12-04-2006, 10:38 AM
الشكر الجزيل لكم اخوتي على الردود و بارك الله فيكم.

fouadtssi
12-04-2006, 10:50 AM
http://eleves.mines.inpl-nancy.fr/~farget47/images/soldat.jpg

بارك الله فيك اخي الحبيب مجهود رائع تستحق عليه التقدير والاحترام
جزاكن الله عنا خيرا وننتظر المزيد من ابداعاتك لك خالص التقدير والاحترام .
وفي آنتظار جديدك نتمى لك الصحة و العافية و الثبات صديقك TSSI

alae001
12-04-2006, 10:55 AM
بارك الله فيك اخي الحبيب مجهود رائع تستحق عليه التقدير والاحترام
جزاكن الله عنا خيرا وننتظر المزيد من ابداعاتك لك خالص التقدير والاحترام .
وفي آنتظار جديدك نتمى لك الصحة و العافية و الثبات صديقك TSSI

تشكر أخي على ردك وان شاء الله سيكون الجديد دائما. بارك الله فيك

الفرعون المحترف
12-04-2006, 11:24 AM
ماشاء الله تبارك الله موضوع مميز
جدا من عضو مميز جدا بارك الله فيك
لا تحرمنا من ابداعاتك
مشكوووووووووووووووووووووووور

alae001
12-04-2006, 11:30 AM
العفو أخ أحمد وهذه فقط قطرة في بحر مواضيع المشرفين الغاليين التي طالما استفدنا منها. بارك الله فيك أخي.

abdelhak313
12-04-2006, 12:43 PM
موضوع مهم فعلا
شكرا لك أخي علاء

alae001
12-04-2006, 12:47 PM
العفو اخي عبد الحق شكرا لك على المرور و الرد

lamhadri13
12-06-2006, 03:13 PM
chokran lak akhi alae motamayz k3adatk atmem
a3ank lah

alae001
12-06-2006, 04:20 PM
chokran lak akhi alae motamayz k3adatk atmem
a3ank lah

تشكر أخي على المرور و الرد.

Euro
12-12-2006, 10:45 PM
حاجة حلوة قوي

Ahmed_ghanam
12-12-2006, 10:49 PM
مشكور اخى الكريم

alae001
12-13-2006, 06:58 PM
حاجة حلوة قوي

شكرا أخي على المرور.

مشكور اخى الكري

العفو أخي ومشكور على المرور.

nawfal_56
02-23-2007, 10:10 PM
بارك الله فيك اخي