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/). انا قمت بالترجمة نظرا لاهمية هذه الأداة.
السلام عليكم ورحمة الله تعالى و بركاته
سوف أتطرق في هذا الدرس الى أهم خصائص أداة ال 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/). انا قمت بالترجمة نظرا لاهمية هذه الأداة.



