هي عملية ارسال رسالة من شخص واحد الى مجموعة اشخاص ضمن الشبكة وكل شخص يستلم الرسالة وتتأكد منها انها Broadcast يستقبلها ويتعامل معها بشكل مستقل عن غيره.
أين يستخدم Broadcast فوائده ..؟
لإرسال رسالة الى اشخاص لا نعرف عنوانهم على شبكة ما ويهمنا ان تصلهم المعلومة مثلا شبكة محلية عليها مجموعة مستخدمين وتريد ارسال رسالة لكل المستخدمين وانت لا تعرف عنوانهم عن طريق Broadcast تستطيع الارسال للجميع دون معرفة العناوين وتفيد هذه الطريقة في معرفة عنوان الخادم بين مجموعة حواسيب اي نرسل رسالة للجميع ضمن الشبكة والخادم فقط يجيب على انه خادم ونستطيع التعامل معه بشكل مستقل
مضار Broadcast
1.كل شخص ضمن الشبكة التي نرسل لها سوف يستلم المعلومة حتى وان لم يكن متصنت على بورت الارسال اي حتى ان لم تكن الرسالة تهمه فهو يستلمها ويعالجها لمرحلة معينة ويهملها منما يؤدي الى تأخير في عمل بقية الأعمال التي يؤديها هذا الحاسوب بسبب هذه الرسالة Broadcast
2.لا يتجاوز البث اكثر من شبكة واحدة اي اننا نرسل رسالة للموجودين ضمن شبكة واحدة فقط ولا نستطيع الارسال لأكثر من شبكة على اكثر من راوتر
فيكون الارسال Broadcast بطريقتين
1. Limit Broadcast :ارسال رسالة الى كل المتواجدين في الشبكة التي نحن فيها ويكون Broadcast هنا عنوانه 255 255.255.255.
ونحصل على هذا العنوان عن طريق دالة IPAddress.Broadcast
2. Direct Broadcast :هنا نرسل الرسالة الى مجموعة اشخاص ضمن شبكة اخرى ونرسل لكل المتواجدين ضمن تلك الشبكة
فكيف نحصل على عنوان 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”()
حمل بقية الدرس من المرفقات
------------------------------------------------
قائمة كتبي
خطوة بخطوة نحو قاعدة بيانات ترضي العميل بالفجوال بيسك دوت نت

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

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