Asynchronous Sockets مفاهيم ومبادء خطوات نحو مستقبل مشرق في الاختراق

[ad_1]

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

سلسلة

كيف حالكم احبتي نقطه التطوير ..

كعادتي لا احب البهرجات والمقدمات الطويله التي لا داعي لها ..

بعد الاجازات نأتيكم بكل جديد كما ارى ان حال القسم كما هو اغلب المواضيع مكرره ومعاده

للأسف وليست بمستوى يليق بمطورين اضاعو من وقتهم الكثير وما زالو داخل دائرة التكرار ..

ما علينا ..

فلنخطو خطوة الى الامام ..


موضوع الليوم

Asynchronous Sockets

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

في هذا الموضوع .

نسلط الضوء على asynchronous server والمعالجة المتوازية في بيئه تطوير .net

فأنت لست بحاجه الآن لستخدام ال
Thread واعطاء كل client ثريد مما يسبب ثقل على

core واحد وأخذ مساحه من الذاكره بمقدار 1 mb لكل thread

فثريد يعمل على switching
بين client و client اخر مما يسبب بط ء في بعض المعالجات الضعيفه

اما اذا كان لديك اكثر من client تريد ان تستقبل طلاباتهم في وقت واحد

فهنا سنلجاء الى البرمجه الغير متزامنه لستقبال اكثر من ضحيه في وقت واحد

وتنفيذ اكثر من عمليه في وقت واحد في ال background
لماذا نستخدم البرمجه الغير متزامنه في متحكمات الاختراق ..
السبب الاول لستقبال اعداد اكثر من الضحايا في وقت واحد
عرض البينات او التحكم في المهام بشكل اسرع
قله حدوث اخطاء ومشاكل استعراض الملفات
ثبات الاتصال
استهلاك اقل للمعالجه

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

والتحقق منها من خلال داله LastIndexOf كونها اسرع من Contains وحذف القيمه بتخزين ال buffer بمتغير اخر من نوع MemoryStream وأنقاص اخر قيمه لل checkpaket.length-1

بدون اللجوء الى
List of byte كما هو شائع وستلاحظ الفرق واختصار الكود والوقت معا


الى هنا انتهيت من شرحي الخاص ونأتي الى بعض المفاهيم مقتبسه من كتاب .net network المتوفر على الشبكه ..

لضيق الوقت ..
ومن ثم سننتقل الى شرح فيديو لتطبيق ما ذكر بمتحكم اختراق ولا تعتمد على شرحي فقط انطلق بنفسك

اﻟـ BeginAccept -1 ال Client Request و ﺗﺴﺘﺨﺪم ﻟﻘﺒﻮل Object وإﺳﻨﺎدﻩ إﻟﻰ AsyncCallback وﺑﺎﺳﺘﺨﺪام هﺬﻩ اﻟـ Server اﻟﻄﺮﻳﻘﺔ ﺳﻮف ﻳﺘﻤﻜﻦ ﻣﻦ اﺳﺘﻘﺒﺎل ﻋﺪد ﻣﻦ Clients Requestsاﻟـ ﻓﻲ ﻧﻔﺲ اﻟﻮﻗﺖ وﺑﺪون اﻟﺤﺎﺟﺔ ﻻﻧﺘﻈﺎر اﻻﻧﺘﻬﺎء ﻣﻦ اﻟﻌﻤﻠﻴﺔ اﻟﺠﺎرﻳﺔ ﺣﻴﺚ AsyncCallback Delegate ﻳﺘﻢ ﻓﻲ آﻞ ﻣﺮة اﺳﺘﺪﻋﺎء اﻟﻤﻴﺜﻮد ﺑﺎﺳﺘﺨﺪام اﻟـ وﺗﺴﺘﺨﺪم آﻤﺎ ﻳﻠﻲ آﻤﺎ ﻳﻠﻲ

2- BeginConnect Asynchronous Connection وﺗﺴﺘﺨﺪم ﻟﺒﺪأ Socket ﻋﻠﻰ اﻟـ ورﻗﻢ اﻟﻤﺤﺪد Portال اﻟـ واﻟـ IPEndPoint ﺣﻴﺚ ﻳﺴﻨﺪ ﻟﻬﺎ واﻟـ Asynchronous Callback State Object وآﻤﺎ ﻳﻠﻲ: MySocket.BeginConnect(EndPoint IP,Syncallback Result,object state)

اﻟـ BeginReceive -3 Client وﺗﺴﺘﺨﺪم ﻹﺳﺘﻘﺒﺎل ﺑﻴﺎﻧﺎت ﻣﻦ Byte Array


ينتهي بتاريخ 21/7/2017

4- BeginSend Asynchronous وﺗﺴﺘﺨﺪم ﻹرﺳﺎل ﺑﻴﺎﻧﺎت إﻟﻰ اﻟﻄﺮف اﻟﻤﺴﺘﻘﺒﻞ ﻋﺒﺮ اﻟـ ﻳﻠﻲ Socket واﻟﺼﻴﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻬﺎ آﻤﺎ :


الى هنا انتى الشرح

التطبيق العملي لما ذكر


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

نلتقي في الشرح القادم واستغلال
Async and await
في النتورك

دمتم بخير

 


[ad_2]

Source by [author_name]

ليست هناك تعليقات:

إرسال تعليق