الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

خواص الاداة Winsock لربط الاجهزة عن طريق الانترنت

بدأه المبرمج عبدالكريم في 9 نوفمبر 2006 · 10 رد · 3,654 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

--------------------------------------------------------------------------------

LocatPort وهو يحدد رقم المنفذ المحلي

LocalIP يعطي رقم الاي بي المحلي

RemotePort رقم المنفذ في الجهاز الآخر

RemoteHost رقم الاي بي للجهاز الآخر

Protocol نوع الترابط بين البرنامجين ويوجد نوعان

State يعطي حالة البرنامج الان هل هو متصل ام لا ام منتظر اتصال وهكذا

--------------------------------------------------------------------------------

وكذلك توجد اوامر اخرى مهمة جداً مثل :

Listen تستخدم لجعل البرنامج ينتظر الاتصال

GetData تستخدم لقراءة البيانات التي ارسلت الى البرنامج

SendData تستخدم لارسال البيانات الى البرنامج الآخر

Connect تستخدم لطلب الاتصال

Accept تستخدم لقبول الاتصال

--------------------------------------------------------------------------------

وبيقى اخيراً مجموعة من الاحداث المهمة وهي :

Connect يفيد بان عملية الربط قد تمت

Close يفيد بان الربط مفقود

DataArrival يعلم البرنامج بوصول بيانات من البرنامج الآخر

SendComplete يفيد البرنامج ان الارسال قد انتهى

Error ينبه بوجود خطأ ما

ConnectionRequest يفيد بانه يوجد برنامج يريد الاتصال ببرنامجنا

أولا الأداة هى أداة نقل البيانات بين أجهزة الكمبيوتر

تقوم الأداة بارسال البيانات عبر الشبكة أو الانترنت

عن طريق حجز مدخل(port) على جهازك لاستقبال البيانات

المرسلة اليك و ارسال لبيانات الى مدخل التطبيق الذى ترسل

اليه بالجهاز اللآخر .

ملحوظة: المداخل(ports) تستخدمها كل البرامج التى تتعامل

مع الانترنت كبرامج الشات و التصفح وكل برنامج يحجز

مدخل برقم معين.

سأشرح مثال:

لعمل برنامج شات

ضع الأداة windows winsock على الفورم

اظبط الخاصية protocolعلى UDPProtocol

لارسال نص الى تطبيق آخر

حدد عنوان الكمبيوتر المرسل اليه

"عنوان الكمبيوتر المرسل اليه"=winsock1.remotehost

عنوان الكمبيوتر اذا كان عبر الانترنت فهو الـip

اذا كان عبر شبكة فهو اسمه فى الشبكة

اذا كان نفس الجهاز فهو اسم الكمبيوتر(يمكنك معرفته

من control panel/systemثم اختر comuter name)

حدد رقم مدخل البرنامج الموجود على الكمبيوترالمرسل له

رقم مدخل البرنامج الموجود على الكمبيوترالمرسل له=winsock1.remoteport

يجب ان يكون البرنامج المرسل له قد حجز المدخل عنده

ارسل النص

"النص المراد ارساله" winsock1.sendData

لاستقبال نص:

احجز مدخل لتطبيقك على الجهاز

رقم المدخل winsock1.localport

اختر رقما للمدخل بحد أقصى خمسة أرقام على ألا يكون مستخدم من تطبيق أخر

اربط التطبيق بالمدخل ليكون جاهز للاستقبال

رقم المدخل bind

لاستقبال البيانات عندما تصل أكتب فى الحدث data arrivalللكائن winsock

dim strdata as string

winsock1.getData strdata

يتم تخزين النص المرسل فى القيمةstrdata

ملحوظة: يجب أن تستخدم السطرين السابقين كما هما للحصول على قيمة النص , الموضوع منقول

#2

هل نستطيع استخدام RemoteHost في كلا البرنامجين اقصد الخادم والعميل؟؟؟؟

اسم الشركه : mj7.org
صاحب الشركه : محمد جمال الذياب.
أداء الشركـــه : برمجة و تصميم و ادارة المواقع للمنشآت و الافراد
بريد الشركـــه : mj@mj7.org
هاتف الشركه : 00963991354290
الدعم الفنــــي :mjxp7@hotmail.com

#3
اقتباس
هل نستطيع استخدام RemoteHost في كلا البرنامجين اقصد الخادم والعميل؟؟؟؟

احدهم يكفي.

فالعميل هو الذي يفترض ان يبحث عن الخادم

الخادم يفضل ان يكون ip الخاص به ثابت , ويمكنك الحصول عليه من اسم الجهاز او النطاق بدلا من معرفة الip

www.arabteam2000-forum.comو 216.246.55.140 لا فرق بينهما ..

اعتذر اذا لم افهم مقصودك جيدا

#4

مشكور أخي عبد الكريم ولكن أنا إستخدمت الأداة المذكورة winsock وهي إداة رائعة لتبادل المعلومات ، ولكن لها سيئة لم أستطع التغلب عليها وهي أنه عند الإنقطاع الفجائي للأداة (كعمل رستارت للطرف الأخر - أو إنقطاع الكهرباء عن الجهاز لسبب ما) فإنه لا يتم تنبيه العميل (الطرف الأول) أو العكس بحدوث خطأ أو إنقطاع الإتصال ، بل تبقى الأداة وكأنها متصلة وترسل المعلومات وكأن الطرف الأخر متصل.

وهنا للتغلب على هذه المشكلة قمت بوضع تايمر يقوم بالإتصال وقطع الإتصال كل 5 ثواني ليتم معرفة هل الخادم(الطرف الثاني) مازال يعمل أم لا ، وهذه الطريقة غيرمرطية وغير عمليّة.

وأنا هنا أسألك و الأعضاء إذا كانت هناك تعليمة لحل هذه المشكلة ، أو وهو الأفضل إذا كنت تعرف أداة أخرى مجربة . بارك اللّه بكم.

#5
اقتباس
State يعطي حالة البرنامج الان هل هو متصل ام لا ام منتظر اتصال وهكذا

اسم الشركه : mj7.org
صاحب الشركه : محمد جمال الذياب.
أداء الشركـــه : برمجة و تصميم و ادارة المواقع للمنشآت و الافراد
بريد الشركـــه : mj@mj7.org
هاتف الشركه : 00963991354290
الدعم الفنــــي :mjxp7@hotmail.com

#6

جزاك الله خيراً أخي المبرمج عبد الكريم

مواضيع و دروس
الكتابة بعدة ألوان داخل الــ TetxBoxمكتبة الأكوادتحميل الــ Visual Basic Express 2005
تحميل فيجوال بسيك 6أكواد × أكواددروس في الخوارزميات
لتحميل عدة إصدارات من كريستال ريبورتتحميل برنامج Activ Skin 4.3جمل الــ Sql من الألف إلى الياء
معظم المواقع المختصة بالفيجوال بيسيكموقع كويس للأيقوناتمرجع شامل لأدوات ActivX
كيفية نطق الحرف المكتوب شرح عن كيفية إقامة علاقة مع Data Reprot باستخدام الــ DataEnvironment علاقة مع الـ Datareport بدون استخدام DataEnvironment (( شرح ))
كتاب Migrating From DAO to ADOإضافة لـ VB6 بريمج IndenterVB, إضافة لبيئة تطوير فيجوال بيسك 6حوار بينى و بين عضو حول ال winsock , اتمنى ان يعجبكم
Smart Indenter 3.5 لتنسيق الأكواد, هديه لكل الأعضاء السلسلة الدهبية في المواضيع العلمية ، إستغلال الـ Balloons في الـ Windows XP مصفوفات الأدوات Control Arrays افكار وتلميحات ! , لمن افتقدها من أيام الـ VB6.0
جعل خلفية الـ Mid Form تظهر بالكامل خواص الاداة Winsock لربط الاجهزة عن طريق الانترنتكيف يتم عمل تقارير بإستخدام HTML

7.gif
#7

مشكور اخي على الموضوع جميل جدا

بس من المعروف انو عندما تريد ايصال جهازين مع بعض عن طريق الونسوك واحد عميل والثاني خادم موجودين على شبكة عادية lan عن طريق الايبي او اسم الجهاز

لكن عن طريق الانترنت كيف يتم ذلك

:(

#8
اقتباس
لكن عن طريق الانترنت كيف يتم ذلك

أعتقد في هذه الحالة يجب وجود real ip

اسم الشركه : mj7.org
صاحب الشركه : محمد جمال الذياب.
أداء الشركـــه : برمجة و تصميم و ادارة المواقع للمنشآت و الافراد
بريد الشركـــه : mj@mj7.org
هاتف الشركه : 00963991354290
الدعم الفنــــي :mjxp7@hotmail.com

#9

جزاك الله خيرا أخي على شرح أساسيات هذه الأداة المهمة

لمزيد من المعلومات , يمكن مراجعة كتاب الأستاذ رغيد الطيب في التعامل مع Winsock

اقتباس
If A is success in life, then A equals x plus y plus z. Work is x; y is play; and z is keeping your mouth shut

Albert Einstein

مدخل إلى برمجة وتصميم الألعاب : كيف أبدأ ؟

#10
اقتباس
يمكن مراجعة كتاب الأستاذ رغيد الطيب في التعامل مع Winsock

كتاب متميز :clapping:

اسم الشركه : mj7.org
صاحب الشركه : محمد جمال الذياب.
أداء الشركـــه : برمجة و تصميم و ادارة المواقع للمنشآت و الافراد
بريد الشركـــه : mj@mj7.org
هاتف الشركه : 00963991354290
الدعم الفنــــي :mjxp7@hotmail.com

#11
اقتباس
أعتقد في هذه الحالة يجب وجود real ip

أخواني عندي حاجة حلوة

موقع no-ip.com أو no-ip.org

موقع رائع بامكانك بواسطة برنامج لهم تثبيت الأي بي الخاص بك

أولا أفتح حساب مجاني لديهم مثلا myname.no-ip.org

ثانيا قم بتحميل برنامج no-ip وهو يقوم بارسال قيمة الاي بي الخاصة بك الى myname.no-ip.org في كل مرة تقم بالاتصال بالانترنت او في كل مرة يتغير الاي بي الخاص بك

هكذا بامكانك الاتصال بالنطاق myname.no-ip.org بدلا من الاي بي الخاص بك اللي غير ثابت

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

وراح تحصل شروح له في مواقع الهكر , لانهم يستخدمونه استخدام سيء لاختراق الناس

تحياتي

مواضيع مشابهة