9 networking

23
Advanced C# Course 9- Network Applications Programming @MhdAlyan

Transcript of 9 networking

Page 1: 9 networking

Advanced C# Course 9- Network Applications Programming

@MhdAlyan

Page 2: 9 networking

04/13/2023 11:49 PM 2

Outlines مقدمةNetworking Application Models Client /server Model ال هي ؟ Socketما . بعيدة أو محلية تطبيقات مع تتواصل شبكية تطبيقات إنشاء طريق عن إنشاؤها يمكن التي التطبيقات أنواع هي ؟ Socketما. الزبائن من معين عدد لتخديم المتبعة االستراتيجيات sequential Server طريق عن إنشاؤها يمكن التي التطبيقات أنواع هي ؟ Socketما نخ@دم أن نستطيع n. Eكيف نسبيا مقبول تأخير مع أو الوقت بنفس زبون

Synchronization ModeThread Pool Asynchronous Mode

Page 3: 9 networking

04/13/2023 11:49 PM 3

مقدمة : التطبيقات أنواع

( شخصية تطبيقات الحاسب نفس على تعمل وتسمى( DesktopتطبيقاتMonoThread

. شبكية تطبيقات . ويب تطبيقات ) وتسمى ) الشبكة على تعمل موزعة Multithread usersتطبيقات

Page 4: 9 networking

04/13/2023 11:49 PM 4

Networking Application Models ,) يتم ) بينها فيما التخاطب التواصل إلى البعيدة أو المحلية التطبيقات تحتاج

وسيطة ” برامج Uسمى ي ما خالل من التواصل “middlewareهذا ال :middlewareأنواع

Client /server - Socket3tiers Client /ServerQueue RPCOOMW

CORBA RMI EJBCOM +

Page 5: 9 networking

04/13/2023 11:49 PM 5

Client /server Model ال بال Client/Serverمفهوم برمجي مفهوم Softwareهو

Engineering ال أن ال Clientأي تطبيقان .Serverو هما ( الزبون هو يطلب الخدمات ( Clientالذي ويقدم الطلبات يتلقى والذي

مUخدم ) (.Serverيسمى( البرنامجين هذين بين اإلتصال نستخدم ( Client/Serverلتحقيق سوف

المكتبة وهي البرمجة لغات معظم في ومتوفرة معروفة برمجية بنيةSocket.

ال هي ما E ؟ Socketإذا

Page 6: 9 networking

04/13/2023 11:49 PM 6

ال هي ؟ Socket ما Socket : فوق مبنية برمجية بنية عن عبارة ال TCP/IPهي لمفهوم تعميم وهي

Stream. تتعاملSocket ( E وتحديدا النقل طبقة بروتوكوالت مع أساسي , TCPبشكل

UDP. ) ال عن : Socketتعريف عبارة هو Port And IPبالشبكات

IP : فريد عنوان وهو المنطقي الحاسب عنوان uniqueهوPort. : المستقبل أو المرسل التطبيق عنوان بإختصار وهو

: مالحظاتSocket. ) ( : أخر إلى شكل من تحولها وال بايتات مصفوفة فقط معطيات تنقل المكتبةSocket : هيCross Platform في تستعمل والنظم الحواسيب جميع على تعمل أنها إي

منخفض ) مستوى في يكون معها والتعامل البرمجة لغات (.Low LevelمعظمTCP is Connection Oriented : هو لذلك الطرود وصول سالمة من ويتحقق رابطة يقيم أي

الملفات نقل تطبيقات في ويستخدم ما E نوعا , FTP Serverبطيء عدة إلى اإلرسال اليدعم وهو E مثال .unicastفقط( , Multicasting Or Broadcastingمستخدمين )

UDP is Connectionless : أسرع هو لذلك الطرود وصول سالمة من يتحقق وال رابطة يقيم ال أيوالمباشر )TCPمن الحي الفيديو نقل في E غالبا غير ( Video Conferencingويستخدم هو لذلك

موثوق .

Page 7: 9 networking

04/13/2023 11:49 PM 7

محلية تطبيقات مع تتواصل شبكية تطبيقات إنشاءبعيدة أو

األسماء فضاء ضمن موجود نحتاجه ما و System .NetكلSystem.Net.Socket

: نكتب المخدم في

TcpListener listener =new TcpListener(5000); listener.Start();  Socket myscoket=listener.AcceptSocket();NetworkStream mynetworkStream=new NetworkStream(myscoket) ; BinaryReader reader= new BinaryReader(mynetworkStream); BinaryWriter writer=new BinaryWriter(mynetworkStream);

Page 8: 9 networking

04/13/2023 11:49 PM 8

محلية تطبيقات مع تتواصل شبكية تطبيقات إنشاءبعيدة .أو

Page 9: 9 networking

04/13/2023 11:49 PM 9

محلية تطبيقات مع تتواصل شبكية تطبيقات إنشاءبعيدة .أو

: نكتب الزبون برنامج فيTcpClient client=new TcpClient();client.Connect("localhost", 5000);NetworkStream mynetworkstream=client.GetStream();BinaryWriter writer = new BinaryWriter(mynetworkstream);BinaryReader reader = new BinaryReader(mynetworkstream);

Page 10: 9 networking

04/13/2023 11:49 PM 10

sequential Server واحد rأن في واحد زبون يخدم مخدم عن عبارة هو. , الرتل هذا بطول التحكم يمكن كما رتل ضمن في تنتظر الزبائن بقية

Page 11: 9 networking

04/13/2023 11:49 PM 11

إنشاؤها يمكن التي التطبيقات أنواع هي ماطريق ؟ Socketعن

تطبيق Peer To Peer : وكل مختلفين حاسبين على موجود برنامج وهو. واحد آن في وزبون مخدم بمثابة هو منهم تطبيق

تطبيقClient /sever: ؟ حينها المخدم يفعل ماذا الوقت نفس في المخدم مع زبون من أكثر إتصل إذا ثالث يعمل Mode أوضاعأو إستراتيجياتأو طرقيوجد أن للمخدم يمكن

اإلستراتيجيات الوقت نفس في الزبائن طلبات من كبير عدد مع يتعامل لكي بهاهي :

Page 12: 9 networking

04/13/2023 11:49 PM 12

إنشاؤها يمكن التي التطبيقات أنواع هي ماطريق ؟ Socketعن

Synchronization Mode : التزامن وضع تسمى وتسمى Blocking Modeأو

: الطريقة هذه مزايا ما E نوعا سهلة. , تأخير يوجد ال الحقيقي بالزمن معالجتها يتم الطلبات جميع

Server

ClientThread

Thread

Thread

Client

Client

Page 13: 9 networking

04/13/2023 11:49 PM 13

Synchronization Mode: الطريقة هذه مساوئ

للموارد جدا� عالي ( .Ram + CPU Time)استهالك � نسبيا طويل وقت يأخد النيسب إقالع أن المخدم لهذا يتعرضلهجمة يمكن

محدد عدد فيها نضمن التي الحاالت بعض في الطريقة هذه إستخدام يمكنمعينة . لهجمة المخدم تعرض عدم نضمن أن يجب كما المتصلين للزبائن

. العالم في الموجودة المخدمات معظم في مطبق وهو أفضل حل يوجد

Page 14: 9 networking

04/13/2023 11:49 PM 14

Thread Pool . الموارد من الكثير يستهلك التزامن وضع أن شاهدنا كما ( تموت ال دائم بشكل تعمل التي النياسب من مجموعة بحجز نقوم أن هو أخر حل يوجد لذلك

)E أبدا.) مقبول ) يكون أن يفترض معين لزمن تنتظر والبقية الزبائن من معين عدد لتخديم

( الطريقة هذه استخدامها( .ThreadPoolتخصص إعادة ليتم الحاسب موارد من جزء

الويب تقوم المعطيات ( Web Servers )مخدمات قواعد Data Base) ومخدماتServers) زبون لكل خاص نيسب تخصيص من E بدال النياسب من حوض باستخدام

. التزامن وضعية في الموجودة المشاكل من التخلص نستطيع وبذلك

Page 15: 9 networking

04/13/2023 11:49 PM 15

Advanced Concepts in Software Engineering Design Pattern EAIAOP SOA

Page 16: 9 networking

04/13/2023 11:49 PM 16

Design Pattern التصميم نموذج : مرحلة في المشكلة هذه متكررة لمشكلة تصميمي حل عن عبارة هو التصميم نموذج

التوجه . غرضي والتصميم التحليل. الكود كتابة خالل لنا تظهر مشكلة لحل معينة برمجة لغة عن مستقلة استراتيجياتA design pattern is not a finished design that can be transformed directly

into code. It is a description or template for how to solve a problem that can be used in many different situations

SUN suggests GOF (Gang Of Four--four pioneer guys who wrote a book named "Design Patterns"- Elements of Reusable Object-Oriented

Software) مثل 23يوجد الشهيرة البرمجة لغات في مستخدمة تصميمي ++,….C# ,JAVA ,Cنموذجي : هو المرجعي -Design Patterns"- Elements of Reusable Objectالكتاب

Oriented Software

Page 17: 9 networking

04/13/2023 11:49 PM 17

Model View Controller Design Patterns MVC( : منهجية لكيفية ( Methodologyيعتبر كانت تصميمكاملة سواء التطبيقات وبرمجة

الكبيرة . المؤسساتية التطبيقات في حتى أو عادية تطببيقات يحلها التي المشاكل هي ؟ MVCما

. الواجهات تعدد . التخزين وسائط تعدد

بعضها عن الثالثة المكونات فصل هو الطريقة هذه من الهدفالبعض .

Page 18: 9 networking

04/13/2023 11:49 PM 18

Model View Controller Design Patterns : View . المستخدم معها يتعامل التي الواجهة وهيController( : العمل منطق كود يحوي الذي ضمنه ( Business Logic Codeهو ويجري

المعرفات من التحقق عمليات Uسمى IDكل ت العمليات إلى Authenticationوهذه باإلضافة E أيضا العملية هذه Uسمى وت الصالحيات من التحقق .Authorizationعملية

DAO & ORM (Model):

Page 19: 9 networking

04/13/2023 11:49 PM 19

Model View Controller Design Patterns

View 1

View 2

View 3

Controller Model 1

Model 2

M0del 3

Page 20: 9 networking

04/13/2023 11:49 PM 20

Model View Controller Design Patterns

View Controller Model

ORM

DAO

Oracle

SQL server

MySQL

Page 21: 9 networking

04/13/2023 11:49 PM 21

3tiers Architecture: منها األهداف من مجموعة لها اإلرتال ثالثية تطبيقات لبناء كامل بنيان أو معمارية هي

. وظيفية الغير المتطلبات عن الوظيفية المتطلبات فصل. الزبائن من كبير عدد تخديم

ال بين الفرق ؟ Design Pattern MVCو 3tiers Architectureما ال بين العالقة ؟ MVC , 3tiersما

Page 22: 9 networking

04/13/2023 11:49 PM 22

ال بين MVC , 3tiersالعالقة

View Controller

Model Oracle

SQL server

MySQL

Desktop Application

Web Application

Mobile Application

Presentation Tier Business Logic Tier

Storage Tier

Page 23: 9 networking

04/13/2023 11:49 PM 23