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

ٍServer Client

مغلق
بدأه أبوبكر في 4 أغسطس 2003 · 5 رد · 1,103 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم .

ياأخوان ممكن مساعدة على

1-Thread

2-Client & Server

مع شرح للكود

وجزاكم الله خير

#2

لل Clinet Server هناك طرق عديدة، احدثها ال Web Services ، مع انها ايضا مخصصة لامور اخرى الا انها جيدة في المجال ايضا

جرب الصفحات التعليمية في هذا الموقع

http://www.asp.net/Tutorials/quickstart.aspx

#3

أبوبكر،

إذا كنت تقصد السيرفر كلاينت بالنسبة للشبكات فإن الموضوع كبير جدا ويمكن كتب كاملة لا تكفي في هذا المجال، ولكن اسمح لي أن

أصف بشكل عام ماهية الإتصال بين السيرفر ( الخادم ) والكلاينت ( الزبون ).

1- الخادم هو تطبيق عادي جدا يقبع على أحد الأجهزة في الشبكة.

2- الزبون هو العميل الذي يريد الإستفادة من التطبيق ( الخادم ) عبر الشبكة.

3- لكي يتم الإتصال بين الخادم والزبون لا بد من وجدود اتفاقية (بروتوكول ) يحدد كيفية الإتصال بين الإثنين.

البروتوكول باختصار يشمل الخطوات التي يجب على الطرفين اتباعههما لإنجاح الإتصال.

من أشهر البروتوكولات المستخدمة في الإتصال بين الشبكات: TCP/IP وشرح هذا الأخير يطول وفي ظني يصيب بالملل وبالتالي مثال

أفضل من أي شرح.

4- علاوة على البروتوكول المستخدم في إنشاء العلاقة الأولية (الإتصال) بين الخادم والزبون، يوجد أيضا بروتوكول لابد من اتباعه من

قبل الطرفين للإستفادة من التطبيق عبر الشبكة، مثال على ذلك كيفية بعث على الرسالة الإلكترونية عندما تستخدم Outlook مثلا.

يقوم Outlook بفتح الإتصال مع عنوان الخادم ( الـIP Address ) بواسطة البروتوكول TCP/IP ويبدأ بعد ذلك بتطبيق حذافيري

لبروتوكول أخر مبني على (فوق) TCP/IP وهو SMTP المختص ببعث الرسائل الإلكترونية، ثم يمرر Outlook البيانات الموجودة

في الرسالة، ثم يقوم بإنهاء الوصلة حسب البروتوكول SMTP.

5- إذا اعتبرنا أن هناك اتصال بين الخادم والزبون، فإنه لا بد من وجود Socket وهي الوحدة التي تقوم بمتابعة حالة الإتصال ويمكن من

خلالها إرسال الرسائل. أي أنه لكل اتصال بي الخادم والزبون، هناك Socket واحدة.

6- من الممكن جدا أن يكون على الجهاز الواحد أكثر من تطبيق خادم، ولكي يمكن الإتصال مع أي منها لابد من تحديد منفذ (port) للإتصال

من خلاله. أي أن الزبون لابد أن يعرف اسم أو عنوان الجهاز الذي يعمل عليه الخادم بالإضافة إلى رقم المنفذ الذي يعمل من خلاله

التطبيق.

الـwebservice تعتبر أحد التطبيقات المتقدمة والتي تستخدم بروتوكول HTTP لإنشاء وإبرام الإتصال. ولكن المبرمج لا يمكنه أن

يشعر بالكيفية الحقيقية للإتصال عندما يستخدم دوت نيت الذي يسهل عليه الكثير.

لقد أرفقت مثالا مصغرا لكيفية الإتصال بين خادم وزبون على نفس الجهاز، من فضلك إذا كان هناك أي استفسار لا تتردد في السؤال.

لكي تستزيد أنصحك بالإطلاع على الـnamespaces التالية في الـMSDN:

System.Threading

System.Net

System.Net.Sockets

simpleserverclient.rar

#4

السلام عليكم ورحمة الله

socket هذه مدرسة للسيرفر والكلاينت

remote مدرسة ثانية

وجدت هذا الرابط

http://www.webreference.com/programming/cs.../chap6/2/2.html

أتمني من الذي عنده معلومات كتب مواقع ... أن يدرجها

وجزاكم الله خيرا

#6

أبو بكر،

معظم البروتوكولات المستخدمة اليوم هي في الحقيقة مبنية على TCP/IP، أنا أسف ولكن من الممكن جدا أن يقوم أي انسان عادي ( وليس مبرمج ) بعمل ويب سيرفيس ويستخدمها في دوت نيت، أسف مرة أخرى لم أفهم ما قصدت عندما اعتبرت أن:

"socket هذه مدرسة للسيرفر والكلاينت

remote مدرسة ثانية "

كما أشرت في السابق الويب سيرفيس تعمل من خلال بروتوكول Http وهو نفس البروتوكول الذي يستخدمه متصفحك للوصول إلى هذه الصفحة. ولكي تفهم في الحقيقة ما يدور خلف الكواليس (إذا كانت لديك رغبة أكيدة في ذلك) فإنه يتعين عليك أن تفهم على مضض ماهية السوكيت وكيف تستخدم ولو بشكل عام. لأن الحقيقة المرة أن هذه ليست مدرسة مختلفة عن غيرها، وإنما برمجة الشبكات وتطبيقات الإنترنت لابد أن تمر من خلال هذه المدرسة (إن جاز التعبير) وبالتالي هي المدرسة الوحيدة لبرمجة الشبكات، حتى لو أخذنا في الإعتبار أنظمة تشغيل أخرى. دوت نيت يسهل عليك وأحيانا يمنعك من رؤية ما يدور خلف الكواليس، ولكن لكي تتمكن من كتابة Network Programmer في الـCV يجب أن تعرف كيف تقوم بعمل تطبيق يستخدم السوكيت بشكل مباشر وليس مجرد ويب سيرفيس.

أنا لا أنصحك بأن تبدأ من الصفر، ولكن إذا أردت أن تكون متخصصا في web services فقط، فهذا أمر سهل جدا في دوت نيت.

ضع [WebMethod] على الدالة التي تريد أن تقدمها كخدمة، ثم استدع السيرفيس بعد إضافة الـWeb Reference! ;)

هذا الموضوع مغلق.

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