21-04-17, 10:06 PM
السلام عليكم اخي الكريم
انا رديت عليك في موضوع سابق بس واضح ان وجهة نظري لم تكن واضحة بما يكفي
قلت ان الموضوع ليس بالبساطة اللتي تتصورها لعدة اسباب
لحساب سرعة تحميل مجموعة من البيانات يجب ان يكون لك القدرة على معرفة مقدار البيانات الواردة في فترة معينة
للاسف الاداة web browser لا تتيح ذلك بحسب علمي
في المثال اللذي ارفقته لك في الموضوع السابق
https://code.msdn.microsoft.com/windowsd...0a#content
في مثاله ذلك يستفيد من الكلاس PerformanceCounter واللذي يقوم بمراقبة قيم معينة في البرامج اللتي تعمل وكذلك قيم خاصة بالحاسب نقسه ، مثل القيم لتي تقوم ال Task manager بمراقبتها ( cpu , memory usage والى اخره )
وبمقدور ايضا هذا الكلاس ان يراقب كم البيانات الداخلة والخارجة من برنامج معين يعمل على ".NET CLR Networking 4.0.0.0"
ولكن للاسف الاداده web browser لم يتم تطويرها على ال ( .net 4 ) فلا يستطيع ال PerformanceCounter ان يراقبها ( اعتقد ذلك هو السبب )
ولكنه يستطيع ان يراقب كمية البيانات الداخلة والخارجة من البرنامج فيما عدا ذلك ، كأن تقوم بتحميل ملف مثلا دون الحاجة ل webbrowser
في هذه الحالة سيكون بالامكان مراقبتها وتحديد سرعة البيانات ( او سرعة الداونلود )
في الحقيقة لست بحاجة ان تتعمق اكثر من ذلك في ال PerformanceCounter ففي المثال اعلاه قام باعداد كلاس لتسهيل التعامل معها واسماه NetworkTraffic
في مثاله يقوم بعرض صفحة في اداه Webbrowser و كذلك يقوم بتحميل ملف كمثال ، وتلاحظ بان السرعة تكون حقيقة فقط في حالة تحميل الملف
فانت الان امامك حل من 2 :
ان تجد طريقة لعرض ما تريد بدون اللجوء للاداه web browser كأن تستخدم ادوات عرض محتوى انترنت بديلة تم تطويرها باستخدام ( .net 4 )
او ان تستخدم web browser وتعرض السرعة المسحوبة من الجهاز كله ( وليس من البرنامج فقط ) وهذا امر بسيط وهناك طرق كثيره لمراقبه ذلك
عموما سأحاول ان اجد لك حلا لذلك ،
وارفقت لك مثال يقوم بتحميل ملف برابط معين وكذلك يقوم بالدخول على صفحة ويب معينة بطريقتين ، قياس استهلاك الانترنت ككل ، واستهلاك البرنامج فقط
الكود بسيط ، ولكن اذا اردت شرح للكود اخبرني
انا رديت عليك في موضوع سابق بس واضح ان وجهة نظري لم تكن واضحة بما يكفي
قلت ان الموضوع ليس بالبساطة اللتي تتصورها لعدة اسباب
لحساب سرعة تحميل مجموعة من البيانات يجب ان يكون لك القدرة على معرفة مقدار البيانات الواردة في فترة معينة
للاسف الاداة web browser لا تتيح ذلك بحسب علمي
في المثال اللذي ارفقته لك في الموضوع السابق
https://code.msdn.microsoft.com/windowsd...0a#content
في مثاله ذلك يستفيد من الكلاس PerformanceCounter واللذي يقوم بمراقبة قيم معينة في البرامج اللتي تعمل وكذلك قيم خاصة بالحاسب نقسه ، مثل القيم لتي تقوم ال Task manager بمراقبتها ( cpu , memory usage والى اخره )
وبمقدور ايضا هذا الكلاس ان يراقب كم البيانات الداخلة والخارجة من برنامج معين يعمل على ".NET CLR Networking 4.0.0.0"
ولكن للاسف الاداده web browser لم يتم تطويرها على ال ( .net 4 ) فلا يستطيع ال PerformanceCounter ان يراقبها ( اعتقد ذلك هو السبب )
ولكنه يستطيع ان يراقب كمية البيانات الداخلة والخارجة من البرنامج فيما عدا ذلك ، كأن تقوم بتحميل ملف مثلا دون الحاجة ل webbrowser
في هذه الحالة سيكون بالامكان مراقبتها وتحديد سرعة البيانات ( او سرعة الداونلود )
في الحقيقة لست بحاجة ان تتعمق اكثر من ذلك في ال PerformanceCounter ففي المثال اعلاه قام باعداد كلاس لتسهيل التعامل معها واسماه NetworkTraffic
في مثاله يقوم بعرض صفحة في اداه Webbrowser و كذلك يقوم بتحميل ملف كمثال ، وتلاحظ بان السرعة تكون حقيقة فقط في حالة تحميل الملف
فانت الان امامك حل من 2 :
ان تجد طريقة لعرض ما تريد بدون اللجوء للاداه web browser كأن تستخدم ادوات عرض محتوى انترنت بديلة تم تطويرها باستخدام ( .net 4 )
او ان تستخدم web browser وتعرض السرعة المسحوبة من الجهاز كله ( وليس من البرنامج فقط ) وهذا امر بسيط وهناك طرق كثيره لمراقبه ذلك
عموما سأحاول ان اجد لك حلا لذلك ،
وارفقت لك مثال يقوم بتحميل ملف برابط معين وكذلك يقوم بالدخول على صفحة ويب معينة بطريقتين ، قياس استهلاك الانترنت ككل ، واستهلاك البرنامج فقط
الكود بسيط ، ولكن اذا اردت شرح للكود اخبرني

