السلام عليكم .
ياأخوان ممكن مساعدة على
1-Thread
2-Client & Server
مع شرح للكود
وجزاكم الله خير
السلام عليكم .
ياأخوان ممكن مساعدة على
1-Thread
2-Client & Server
مع شرح للكود
وجزاكم الله خير
لل Clinet Server هناك طرق عديدة، احدثها ال Web Services ، مع انها ايضا مخصصة لامور اخرى الا انها جيدة في المجال ايضا
جرب الصفحات التعليمية في هذا الموقع
أبوبكر،
إذا كنت تقصد السيرفر كلاينت بالنسبة للشبكات فإن الموضوع كبير جدا ويمكن كتب كاملة لا تكفي في هذا المجال، ولكن اسمح لي أن
أصف بشكل عام ماهية الإتصال بين السيرفر ( الخادم ) والكلاينت ( الزبون ).
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
السلام عليكم ورحمة الله
socket هذه مدرسة للسيرفر والكلاينت
remote مدرسة ثانية
وجدت هذا الرابط
http://www.webreference.com/programming/cs.../chap6/2/2.html
أتمني من الذي عنده معلومات كتب مواقع ... أن يدرجها
وجزاكم الله خيرا
أبو بكر،
معظم البروتوكولات المستخدمة اليوم هي في الحقيقة مبنية على TCP/IP، أنا أسف ولكن من الممكن جدا أن يقوم أي انسان عادي ( وليس مبرمج ) بعمل ويب سيرفيس ويستخدمها في دوت نيت، أسف مرة أخرى لم أفهم ما قصدت عندما اعتبرت أن:
"socket هذه مدرسة للسيرفر والكلاينت
remote مدرسة ثانية "
كما أشرت في السابق الويب سيرفيس تعمل من خلال بروتوكول Http وهو نفس البروتوكول الذي يستخدمه متصفحك للوصول إلى هذه الصفحة. ولكي تفهم في الحقيقة ما يدور خلف الكواليس (إذا كانت لديك رغبة أكيدة في ذلك) فإنه يتعين عليك أن تفهم على مضض ماهية السوكيت وكيف تستخدم ولو بشكل عام. لأن الحقيقة المرة أن هذه ليست مدرسة مختلفة عن غيرها، وإنما برمجة الشبكات وتطبيقات الإنترنت لابد أن تمر من خلال هذه المدرسة (إن جاز التعبير) وبالتالي هي المدرسة الوحيدة لبرمجة الشبكات، حتى لو أخذنا في الإعتبار أنظمة تشغيل أخرى. دوت نيت يسهل عليك وأحيانا يمنعك من رؤية ما يدور خلف الكواليس، ولكن لكي تتمكن من كتابة Network Programmer في الـCV يجب أن تعرف كيف تقوم بعمل تطبيق يستخدم السوكيت بشكل مباشر وليس مجرد ويب سيرفيس.
أنا لا أنصحك بأن تبدأ من الصفر، ولكن إذا أردت أن تكون متخصصا في web services فقط، فهذا أمر سهل جدا في دوت نيت.
ضع [WebMethod] على الدالة التي تريد أن تقدمها كخدمة، ثم استدع السيرفيس بعد إضافة الـWeb Reference! ;)
هذا الموضوع مغلق.