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

سلسلة دروس C# Network Programming

مثبّترائج
بدأه فادي عبدالقادر في 19 أكتوبر 2005 · 236 رد · 215,570 مشاهدة · في برمجة الشبكات والتطبيقات الموزعة
مشاركة: واتساب X فيسبوك تيليجرام
#201

الاخ فادي عبدالقادر

أنا مازلت أنتظر الرد .. حتى لو كان "انكم ماكثون"

فلسطين الزاهية بألوان الحب والسلام

ذلك الطعم الزيتوني الذي يتدفق عسلاً من أفواه بساتينها وحدائقها

تشتاق إليها نفوس المتقين وترنوا للسجود فيها جباه المسلمين

#202

اهلا بك اخي العزيز واعتذر عن تأخري على الرد بسبب السفر

اقتباس
"البرنامج الخاص بالدرس الثاني والذي يستخدم فيه بروتوكول ال TCP لنقل الصورة من جهاز Client الى Server .."

س1/ إلى أين ستنتقل الصورة في السيرفر؟ أي أين موضع تخزينها؟

في هذا المثال ستم تخزين الصورة في الـMemory Stream للجهاز الآخر اما عملية تخزينها كملف فهو امر اختياري يمكن اضافته بكل سهولة

اقتباس
س2/ أنا أريد عمل ذلك بين جهازين مشبوكين على الدومين في شبكة المحلية الخاصة بالشركة التي أعمل فيها فهل يمكن ذلك؟

لن يكون وجود الدومين عائق لك حيث انك ستستخدم الـIP Address وطالما انك تستطيع الوصول إلى الجهاز المقابل عندها يمكنك تجربة البرنامج عليه وتطوير برامج اخرى بشرط ان تمل الصلاحية في DC لفتح بورت في الـFirewall الخاص بالجهاز

اقتباس
س3/ لماذا تظهر لي الرسالة No such host is known في البرنامج المرفق؟

تأكد انك ادخلت الـIP Address بشكل صحيح وانه يمكنك الوصول إلىيه من خلال الأمر ping

موفق إن شاء الله

#203
اقتباس
تأكد انك ادخلت الـIP Address بشكل صحيح وانه يمكنك الوصول إلىيه من خلال الأمر ping

استخدمت الأمر Ping وظهرت Reply بشكل صحيح ، قد تكون المشكلة في أنه يتطلب ادخال المستخدم وكلمة السر

فلسطين الزاهية بألوان الحب والسلام

ذلك الطعم الزيتوني الذي يتدفق عسلاً من أفواه بساتينها وحدائقها

تشتاق إليها نفوس المتقين وترنوا للسجود فيها جباه المسلمين

#204

مشكور اخي الكريم بارك الله فيك

#205

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

المزيد من المعلومات المفيدة والرائعة

[وسط]

b6ac4231c2.jpg

[/وسط]

#206

السلام عليكم

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

وزادكم علما ونفع بكم حيثما كنتم

hh.jpg
#207

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

#208

السلام عليكم

انا لسه جديد فى حكاية برمجة الشبكات

و قمت ببرمجة تطبيقات خفيفة للتدريب

وفى الايام الاخيرة تابعت مواضيع حضرتك

لذلك فضلت الا ابدأ مشاركتى بسؤال

ولكن حبيت ان اشكرك جزيل الشكر على المجهود الكبير جدا الذى تبذله

واجابتك على تساؤلات الاعضاء واستفساراتهم

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

واى كلمة شكر لن توافيك حقك

معلومة على السريع

انا باستخدم طريقة سهلة نسبيا فى المالتى ثريدينج

وهى عن طريق استخدام back ground worker

وهى طريقه بتنفع معايا فى معظم الحالات وانا باضع كود فى الحدث completed يخلى ال back ground worker

يبتدى من جديد

وهى طريقة سهلة نسبيا ومفهومة برمجيا

انا حبيت بس اوضح المعلومة دى عشان الناس اللى بتشتكى من تعقيد عملية برمجة المالتى ثريدينج

ولو حد طلب مثال انا فى الخدمة

هشام

#209

انا قريت لحضرتك الping & traceroute application وازاي نبعت icmp packets ونستقبلها والسلسه غنيه جدا

وياريت يا اخ فادي نشوف مثال علي استخدام ال ProtocolType.RAW وازاي اتحكم في شكل ال packet وخاصه في الجزء بتاع ال network layer

يعني مثلا انا عايز اعمل load balancing application ما بين مجموعه من السيرفرات فهنا انا محتاج استلم الpacket من الsender واغير في محتويات الpacket زي الDestination ip address ليكون السيرفر المتاح الان وبدون تغيير الsource ip address

عموما عايزين نشوف مثال بال.net ازاي نتعامل مع الnetwork layer

#210

اهلا وسهلا بك اخي الكريم ,

اقتباس
استخدام ال ProtocolType.RAW وازاي اتحكم في شكل ال packet وخاصه في الجزء بتاع ال network layer مثلا انا عايز اعمل load balancing application ما بين مجموعه من السيرفرات فهنا انا محتاج استلم الpacket من الsender واغير في محتويات الpacket زي الDestination IP Address ليكون السيرفر المتاح الان وبدون تغيير الsource IP Address

الشيء الغير واضح في طلبك انك تريد ذلك لعملية load balancing واساسا عند اعادة ارسال الباكيت من طرف السيرفر فسيتم بشكل الي وضع الـSource IP على الباكيت فما هي الفكرة اساسا من تطبيق ذلك لعملية توزيع الحمل ؟؟ يوجد عدة تقنيات يمكن اتباعها لتطبيق عملية توزيع الحمل انصحك بالإطلاع على هذا الموضوع في الكود بروجكت http://www.codeproject.com/KB/recipes/Ant_...timisation.aspx ...

#211

ما شاء الله عليك اخ فادي شرحك قمة بالاداء

و الموضوع اكثر من ممتاز بس برايي في مشكلة بسيطة و هو عدم سهولة الوصول للموضوع بسهولة

صحيح انه الموضوع مثبت لكن عدد الصفحات كتير و الوصول للدرس المراد فيه نوع من الصعوبة لانه في ناس بكون غرضهم شغلة معينة و بدوروا عليها و بصراحة بتعبوا عشان يصلوا الها ...

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

و شكرا

#212

أحب ان انوه عن شئ

اقتباس
وبعد ذلك تسلم الى Network Layer وهي مكون من Datalink Layer و Network Layer في OSI

في نظام TCP/IP stack تكون Network Layer هي Network Layer في OSI stack

اما Data Link Layer and Physical Layer في OSI stack فيقابلهما Network Access فيTCP/IP stack

اقتباس
TcpClient myclient = new TcpClient ("127.0.0.1",5000); // الإتصال مع السيرفر

بالنسبة للعنوان IP address المكتوب هو Loop back address وهو يستخدم فقط للتأكد من اعدادات الشبكة على الجهاز ولن يخرج خارج الجهاز أي لايمكن استخدامه على شبكة

فهل سيتم التعامل بالفعل مع العنوان على نفس الجهاز للتخاطب كما لو كان هو عنوان سيرفر

اقتباس
mynetsream .WriteLine(txt_msg.Text);

عند كتابة هذا السطر كان هناك خطأ بأن mynetsream لا تحتوي على هذه الطريقة WriteLine() وعند مراجعة الطرق الموجودة بداخله لم اجد هذه الطريقة ولكن وجدت Writeوهي لها متغيرات

برجاء التوضيح

وعندي سؤال اخر

لتطبيق هذه الامثلة ورؤية النتائج كيف لي ان اطبقها وليس عندي الا جهاز واحد فقط فهل هناك طريقة لتطبيق هذه الامثلة على جهاز واحد

وشكــــــــــــــــــــــــــرا ً لسعة ورحابة صدرك لنا على اسئلتنا البسيطة

تم تعديل هذه المشاركة بواسطة فادي عبدالقادر في 14 يناير 2009 في 11:13 — السبب: دمج ثلاثة مشاركات في مشاركة واحدة

#213

ملاحظة هامة: تم كتابة هذه السلسلة سنة 2005 وتعتبر الآن قديمة نسبيا بالمقارنة مع التقنيات الحديثة التي صدرت حتى سنة 2008 لذلك قررنا إعادة كتابة هذه السلسلة والإصدارات السابقة من الكتب الإلكترونية في كتاب الكتروني جديد يشمل التقنيات الحديثة وسيصدر من هذا الكتاب اصدارين واحد باللغة العربية وسيكون الكتروني مجاني (سيصدر على بداية هذه السنة 2009 بإذن الله وسيعلن عنه هنا) واخر ورقي باللغة الإنجليزية (موعد صدوره سيكون في الأغلب حتى نهاية سنة 2009) لذلك سيتم الإبقاء على هذه السلسلة إلى حين صدور الإصدار الجديد من الكتاب وسيتم حذف كافة الدروس الموجودة بها والإبقاء فقط على النقاشات الدائرة

للإستفسارات الأخرى يمكنكم المراسلة من خلال SocketCoder.Com

______________________________________________________________________________

اهلا بك اخي العزيز,

اقتباس
في نظام TCP/IP stack تكون Network Layer هي Network Layer في OSI stack

اما Data Link Layer and Physical Layer في OSI stack فيقابلهما Network Access فيTCP/IP stack

هو بالأساس ترتيب منطقي ليس الا لكن الـOSI وضحت طبيعة الإتصال بشكل عام أي على جميع بروتوكولات الإتصال TCP/IP أو IPX/SPX أو غيره واما الـTCP/IP سويت فهو بالأساس Standard للأتصال الذي يعتمد على الـIP بشكل اساسي

اقتباس
بالنسبة للعنوان IP address المكتوب هو Loop back address وهو يستخدم فقط للتأكد من اعدادات الشبكة على الجهاز ولن يخرج خارج الجهاز أي لايمكن استخدامه على شبكة فهل سيتم التعامل بالفعل مع العنوان على نفس الجهاز للتخاطب كما لو كان هو عنوان سيرفر

إذا كانت الـService مثبتة على نفس الجهاز فيمكنك استخدام الـloopback لتجربة البرنامج على نفس الجهاز ولو لم تكن متصل بالشبكة

اقتباس
عند كتابة هذا السطر كان هناك خطأ بأن mynetsream لا تحتوي على هذه الطريقة WriteLine() وعند مراجعة الطرق الموجودة بداخله لم اجد هذه الطريقة ولكن وجدت Writeوهي لها متغيرات

برجاء التوضيح

لا توجد دالة اسمها Writeline في الـNetworkStream إذا كان ذلك في الدرس فهذا خطأ مطبعي ليس الا على اي حال راجع الدرس المتعلق بالـStreaming لمعرفة كافة التفاصيل.

اقتباس
وعندي سؤال اخر

لتطبيق هذه الامثلة ورؤية النتائج كيف لي ان اطبقها وليس عندي الا جهاز واحد فقط فهل هناك طريقة لتطبيق هذه الامثلة على جهاز واحد

نعم بالستخدام الـloopback ip 127.0.0.1

انصحك بالتحميل الإصدار الثاني من النسخة الإلكترونية للكتاب إذ تم فيها تنقيح بعض الأخطاء المطبعية في السلسلة. لكن الإصدار الثاني لا يحتوي على كل مواضيع السلسلة وسيتم تحديثه في الإصدار الثالث بإذن الله والذي سيكون في الأغلب بـ2009.

تم تعديل هذه المشاركة بواسطة فادي عبدالقادر في 14 يناير 2009 في 11:13 — السبب: إضافة موعد صدور الإصدار الجديد والغاء الق

#214
اقتباس
openFileDialog1.ShowDialog ();

string mypic_path =openFileDialog1.FileName;/هنا مسار الصورة

pictureBox1.Image = Image.FromFile(mypic_path);/هنا حملنا الصورة في البوكس

MemoryStream ms = new MemoryStream();/انشائنا كائن

pictureBox1.Image.Save(ms,pictureBox1.Image.RawFormat/هنا ما فهمت رو فورمات);

تخزين الصورة ووضعها في مصفوفة من النوع بايت

byte[] arrImage = ms.GetBuffer();

ms.Close();

الاتصال بجهاز السيرفر عبر العنوان والبورت المحدد

TcpClient myclient = new TcpClient (txt_host.Text,5020);//Connecting with server

إرسال الصورة المخزنة إلى جهاز السيرفر

NetworkStream myns = myclient.GetStream ();

BinaryWriter mysw = new BinaryWriter (myns);

mysw.Write(arrImage);//send the stream to above address

إغلاق السوكت والجلسة واللستريم

mysw.Close ();

myns.Close ();

myclient.Close ();

#215

الشكر الجزيل لك أخي

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

#216

ماشاء الله تبارك الرحمن..

تشكر على هذا الجهد الجبار..

جعله الله خالصا لوجة وبميزان حسناتك..

استفدت كثير منه ..

تحياتي ..

اختك..نبراس الهاشمي

#218

بسم الله الرحمن الرحيم

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

أولا

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

الافكار في برمجة الشبكات وأسال الله أن يجازيه عنا خير الجزاء

وأقولك (بدون أمر) إلى الامام يامعلمنا

ثانيا

عندي فكرة لمشروع طرأت على بالي أود ان اسالك فيها يااستاذ :

وهي تواصل الجهاز مع الaccess point ومعرفة بُعدّ ال access point (كم المسافة) عن الكمبيوتر (لاسلكي)

وكذلك تحديد اتجاهه (بمعنى مثل البوصلة )

وكذلك وضع خريطة في البرنامج لتحديده بكل دقة باستخدام GIS (نظم المعلومات الجغرافية)

بمعنى نظام تحديد المواقع باستخدام الWireLess

أرجو من حضرتك أن تجيب على سؤالي بحكم خبرتك(فضلا لا أمرا)

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

سأصبر حتى يعجز الصبرُ عن صبري

وسأصبر حتى يأذن الله في أمري

وسأصبر حتى يعلم الصبرُ أني صبرتُ على شيئاٍ أمرُ من الصبرِ

#219

اهلا بك اخي ابو بكر

اقتباس
وهي تواصل الجهاز مع الaccess point ومعرفة بُعدّ ال Access point (كم المسافة) عن الكمبيوتر (لاسلكي)

وكذلك تحديد اتجاهه (بمعنى مثل البوصلة )

لا يوجد في الحقيقة طريقة لمعرفة ذلك بشكل مباشر لكني لم ابحث في هذا الموضوع إذا كان يمكن قياس المسافة بناء على قوة الإشارة كونها ستختلف من Access Point إلى اخر وايضا قد يعتمد ذلك على طول الأنتين وقوة التقاطه للإشارة فلا اعتقد ان ذلك سيقيس بشكل دقيق 100%.

واما بخصوص الشق الآخر من السؤال بتحديد الإتجاه فيمكنك عمل برنامج يحسب لك قوة الإشارة ومن خلاله يمكنك ان تعرف اقرب موقع لوجود الـAccess Point من خلال زيادة قوة الإشارة عند الإقتراب لكن معرفة المصدر بتحديد امر ليس سهلا وذلك لتبعثر اشارات الراديو في جميع انحاء المكان المحيط

على اي حال لدي اقتراح ربما يفيدك في هذا الجانب:

قد يمكن من خلال دراسة اشارة الـRadio ومعرفة الـDelay المحتمل عند ارسال بيانات بحجم معين وبتثبيت بعض المتغيرات كـ

- طول انتين الإرسال

- طول انتين الإستقبال

- قوة الإرسال والتردد

- حجم البيانات المرسلة ونوعها مثلا ارسال ICMP Ping Message

قياس الـPeriod Time بين الإرسال و الإستقبال وتزيد المسافة وتقيس مرة اخرى وتسجيل ذلك ثم تحاول ايجاد معادلة لذلك ...

علما انه يوجد اجهزة HW تقيس مسافة الـRadio بين مرسل ومستقبل لكن لا بد من استخدام المرسل والمستقبل لنفس الجهاز ولا يقيس الإشارة من بعد AP وذلك لوجود المتغيرات التي وضحتها انفا

يمكنك السؤال ايضا في قسم الإلكترونيات لمزيد من المعلومات حول هذا الموضوع

واهلا وسهلا بك

#220

في البدايه اشكرك على ردك على موضوعي المتواضع . :lol:

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

وهذه الطريقه هي المستخدمه في نظام ال(GPS)

على العموم جاري البحث حول الموضوع ولك جزيل الشكر حول هذه النقاط

اقتباس
واما بخصوص الشق الآخر من السؤال بتحديد الإتجاه فيمكنك عمل برنامج يحسب لك قوة الإشارة ومن خلاله يمكنك ان تعرف اقرب موقع لوجود الـAccess Point من خلال زيادة قوة الإشارة عند الإقتراب لكن معرفة المصدر بتحديد امر ليس سهلا وذلك لتبعثر اشارات الراديو في جميع انحاء المكان المحيط

اود منك (فضلا لا أمرا) لو تعطيني فكره اكبر حول كيف يمكن تحديد قوه الاشاره (بالبرمجة) لأن هذه المعلومه قد تكون طرف الخيط ولك جزيل الشكر

سأصبر حتى يعجز الصبرُ عن صبري

وسأصبر حتى يأذن الله في أمري

وسأصبر حتى يعلم الصبرُ أني صبرتُ على شيئاٍ أمرُ من الصبرِ

#221
اقتباس
ملاحظة هامة: تم كتابة هذه السلسلة سنة 2005 وتعتبر الآن قديمة نسبيا بالمقارنة مع التقنيات الحديثة التي صدرت حتى سنة 2008 لذلك قررنا إعادة كتابة هذه السلسلة والإصدارات السابقة من الكتب الإلكترونية في كتاب الكتروني جديد يشمل التقنيات الحديثة وسيصدر من هذا الكتاب اصدارين واحد باللغة العربية وسيكون الكتروني مجاني (سيصدر على بداية هذه السنة 2009 بإذن الله وسيعلن عنه هنا) واخر ورقي باللغة الإنجليزية (موعد صدوره سيكون في الأغلب حتى نهاية سنة 2009) لذلك سيتم الإبقاء على هذه السلسلة إلى حين صدور الإصدار الجديد من الكتاب وسيتم حذف كافة الدروس الموجودة بها والإبقاء فقط على النقاشات الدائرة

بارك الله بعلمك و وقتك ،، بالانتظار

/index.php/topic/264448-%D8%A7%D9%84%D8%A8%D8%AF%D8%A7%D9%8A%D8%A9-%D9%85%D8%B9-%D8%A7%D9%84%D8%A7%D9%86%D8%AF%D8%B1%D9%88%D9%8A%D8%AF/

 

اني وان كنت الاخير زمانه ---- لأتِ بما لم تستطعه الاوائلُ

#222

اخوتي الاعزاء

السلام عليكم

شكرا على هذه الدروس التعليميه اتي لايوجد لها مثيل في اي منتدى عربي اريد السؤال ولو ان الوقت غير مناسب والتوقيف المؤقت للموضوع الا اني في امس الحاجه الى شخص يرشدني كيف اكتب برنامج بلغه سي شارب لعمل vpn connection بين حاسبتين للاسف لم اجد شيئا مفيدا في الانترنيت ارجو ان تساعدوني في اسرع وقت نظرا لخبرتكم العاليه في هذا المجال

شكرا جزيلا

#223

ياريت تقدرو تساعدوني

هلا كيف بدي اعمل الصورة تنتقل من السيرفر للكلاينت

شو التعديل الازم على الكود حتى يزبط معي

حاولت فيه اكثر من مرة بس ما زبطت معي

ساعدوني ياريت

#224

أرجو أن تفيدوني فأنا مضطرة لكتاب برمجة التطبيقات الموزعة

أين أجد النسخة الحديثة

شكرا لكم

#225

this is lockal host ip  "127.0.0.1" if i change it to my pc ip it doesn't work how can i make internet server i mean 

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