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

ما هو broadcast وفوائده ومضاره وكيف يستخدم في بيئة الدوت نت

بدأه حسين احمد طالب في 6 مايو 2012 · 0 رد · 13,569 مشاهدة · في برمجة الشبكات والتطبيقات الموزعة
مشاركة: واتساب X فيسبوك تيليجرام
#1

هي عملية ارسال رسالة من شخص واحد الى مجموعة اشخاص ضمن الشبكة وكل شخص يستلم الرسالة وتتأكد منها انها Broadcast يستقبلها ويتعامل معها بشكل مستقل عن غيره.

post-243277-034224100 1336327495_thumb.p

أين يستخدم Broadcast فوائده ..؟

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

مضار Broadcast

1.كل شخص ضمن الشبكة التي نرسل لها سوف يستلم المعلومة حتى وان لم يكن متصنت على بورت الارسال اي حتى ان لم تكن الرسالة تهمه فهو يستلمها ويعالجها لمرحلة معينة ويهملها منما يؤدي الى تأخير في عمل بقية الأعمال التي يؤديها هذا الحاسوب بسبب هذه الرسالة Broadcast

2.لا يتجاوز البث اكثر من شبكة واحدة اي اننا نرسل رسالة للموجودين ضمن شبكة واحدة فقط ولا نستطيع الارسال لأكثر من شبكة على اكثر من راوتر

فيكون الارسال Broadcast بطريقتين

1. Limit Broadcast :ارسال رسالة الى كل المتواجدين في الشبكة التي نحن فيها ويكون Broadcast هنا عنوانه 255 255.255.255.

post-243277-098776100 1336327532_thumb.p]

ونحصل على هذا العنوان عن طريق دالة IPAddress.Broadcast

2. Direct Broadcast :هنا نرسل الرسالة الى مجموعة اشخاص ضمن شبكة اخرى ونرسل لكل المتواجدين ضمن تلك الشبكة

post-243277-080585900 1336327569_thumb.p

فكيف نحصل على عنوان Broadcast لشبكات اخرى..؟

نعرف كل عنوان IP مقسم الى جزئين عنوان شبكة Network address وعنوان الحاسبة Host address ويكون عدد البتات في كل جزء حسب Class الذي ينتمي اليه العنوان .

فيكون عنوان Broadcast هوا اقصى رقم ضمن عنوان Host

مثل1: لو كان لدينا هذا العنوان

192.168.0.5

Network Address/24bit

هنا قسم العنوان IP المكون من 32 بت الى جزئين جزء عنوان الشبكة من 24 بت وبقت 8 بت لعنوان Host وقلنا ان Broadcast هوا اقصى عنوان من عناوين Host اي نجعل 8 بت لل Host كلها واحد بنظام Binary بشكل التالي

11111111

اي تساوي 255 في النظام العشري وهنا يكون عنوان Broadcast لكل مستخدم منضم الى هذه الشبكة هو

192.168.0.255

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

يوفر class Udp إمكانية إرسال بيانات عبر الشبكة لكل المتواجدين داخل الشبكة بشكل رسالة Broadcast وكل شخص متصل بالشبكة يتصنت على نفس بورت الإرسال سوف يستلم الرسالة . أي إننا نرسل إلى الراوتر ويقوم الراوتر ببث هذه الرسالة إلى الجميع بدلا من إرسالها إلى شخص محدد لأننا أعلمناه إنها رسالة Broadcast .أي هي عملية شبيه بالبث الإذاعي ولا يهمنا أن استلم شخص واحد أو الجميع أو لم يستلمو هنا نجعل العنوان الذي نرسل له IPAddress.Broadcast والبورت الذي نرسل له نفس البورت الذي يتصنت عليه الأشخاص الذين نريد ان نرسل لهم رسالة Broadcast وهذه من اكثر ميزات هذا البروتوكول مثلا لو كان لدينا محل تجاري ونريد كل من يدخل المحل ويتصل بشبكته ترسل له رسالة ترحيبية او عملية بت استاذ محاضرة لمجموعة من الطلاب.

· عملية Broadcast لا تتجاوز بالبث اكثر من راوتر واحد أي ضمن الراوتر يكون البث

· عملية التنصت على رسائل Broadcast تكون اعتيادية نفس طريقة التصنت السابقة

نكون دالة الأرسال للجميع بشكل التالي تأخذ برامترين الأول بورت الأرسال الذي يستلم عليه كل الأشخاص ضمن الشبكة الثاني البيانات بشكل بايت

VB.NET CODE

1.       Sub send_Data_Broadcast(ByVal port_number AsInteger, ByVal the_message As Byte())

2.       Dim ipednp = New IPEndPoint(IPAddress.Broadcast, port_number)

3.       Dim udpClient As New UdpClient()

4.       udpClient.Send(the_message, the_message.Length, ipednp)

5.       End Sub

توضيح الخطوات

1. خطوة رقم 2 حددنا IPEndPoint الذي نرسل له

 نجعل العنوان IPAddress.Broadcast اذا كنا نريد ان نرسل للأشخاص ضمن نفس الشبكة التي نحن فيها Direct Broadcast

 او نجعل العنوان نحن نكتبه بشكل سلسلة بدال IPAddress.Broadcast اذا كنا نريد ان نبث لشخص ضمن شبكة اخرى Limit Broadcast

2. خطوة رقم 3 كونا كائن جديد من نوع UdpClient لأرسال البيانات خلاله

3. خطوة رقم 4 ارسلنا البيانات وطولها الى ipednp الذي حددن

أو تكون دالة الإرسال بشكل التالي

VB.NET CODE

Sub send_Data_Broadcast(ByVal port_number AsInteger, ByVal the_message As Byte())

Dim udpClient As New UdpClient(IPAddress.Broadcast.ToString, port_number)

udpClient.Send(the_message, the_message.Length)

End Sub

هنا حددنا العنوان الذي نرسل له IPAddress.Broadcast أي يرسل البيانات للجميع

· لبث رسالة نص بهذا الأجراء للجميع محتوى الرسالة hi hussien على البورت 9001. يجب أن يكون الجميع يتصنتون على بورت الإرسال وهو 9001 لكي يستلمو الرسائل

VB.NET CODE

send_Data_Broadcast ( 9001, Encoding.ASCII.GetBytes( “hi hussien”()

حمل بقية الدرس من المرفقات

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

قائمة كتبي

خطوة بخطوة نحو قاعدة بيانات ترضي العميل بالفجوال بيسك دوت نت

01332574371.jpg

خطوة بخطوة لتعلم لغة سي وسي بلاس

01332574646.png

بروتوكولات الشبكات TCP,UDP,IP وبناء التطبيقات بالبروتوكول الملائم فيجوال بيسك دوت نت

01332574343.jpg

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

Broadcast111.pdf

المرفقات
imagen1.pngimagn2.pngiamgn3.png

تم تعديل هذه المشاركة بواسطة حسين احمد طالب في 6 مايو 2012 في 21:44

2

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

حسين الربيعي

 

مهندس برامجيات من العراق

 

ادرس  في  RIT  في الولايات المتحدة

 

مدونتي

http://hussienahmmed.blogspot.com/

 

قناة اليوتيوب الخاصة بلدورات

https://www.youtube.com/user/alxs1aa

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…