مرجع تخصصی برنامه نویسان

بزرگترین انجمن برنامه نویسان فارسی زبان

استفاده از مموری در C# socket programming

یکشنبه, 30 مهر 1396 19:40

استفاده از مموری در C# socket programming

سلام دوستان

من یه سرور سوکت دارم دارم که هر چند ثانیه یک بار تعدادی دستگاه به اون وصل میشن و اطلاعاتی رو به سرور ارسال می کنند

ولی یه مشکلی هست اونم اینه که هر چند ثانیه یک بار میزان استفاده از حافظش بیشتر میشه حتی در حالتی که هیچ دستگاهی به سرور وصل نیست لحظه به لحظه میزان اشغال رم بالا میره.

کل حجم برنامه در ابتدای اینکه برنامه اجرا میشه 3.1 مگ هست ولی بعد از دو سه روز به 60-70 مگ میرسه

گاهی اوقات هم سرور استاپ میشه و ارتباط دستگاه ها قطع میشه

این سرور بصورت چند نخی یا همون multi Thered کار میکنه

چکار کنم که حافظه رو بتونم آزاد کنم و اینکه ارتباط دستگاه ها قطع نشه؟

ممنون میشم اگه راهنمایی کنید

یکشنبه, 30 مهر 1396 20:14

باید Trace کنید شبکه رو تا متوجه بشید کدوم نخ داره فضا رو اشغال میکنه

نمیشه مشکل رو حدس زد

ﺳﻪ شنبه, 02 آبان 1396 11:38

سلام

من که هر کاری کردم متوجه نشدم مشکل از کجاست

استاد مدائنی یادمه سر کلاس میگفتید سوکت دیگه منسوخ شده از یه چیز دیگه استفاده میکنند ولی یادم نیست اسمش چی بود؟

ﺳﻪ شنبه, 02 آبان 1396 13:43

از Remoting استفاده میکنیم

ﺳﻪ شنبه, 09 آبان 1396 17:26

سلام استاد

از exception های برنامه log گرفتم و مشکل رو متوجه شدم.

برنامه وقتی استاپ میشه که، ارور OutOfMemory میده. تعداد theared هایی که اطلاعات رو از یوزرها میگیره خیلی بالا میره و این ارور رو میده.

دنبال جواب این مسئله گشتم و یکسری اطلاعاتی پیدا کردم ولی متاسفانه نتونستم مشکل رو حل کنم چون فقط درباره ی موضوع توضیح داده شده و نمونه کدش گذاشته نشده.

https://goo.gl/jnTPzf

این لینک دقیقا کدیه که من دارم استفاده میکنم و مشکلش هم دقیقا مشکل منه

https://goo.gl/XEBJa8

این لینک هم هست که فک کنم بهتر توضیح داده باشه

اگه ممکنه راهنماییم کنید ممنون میشم

چهارشنبه, 10 آبان 1396 16:48

متاسفانه نمیشه حدس زد دوست من

کد باید ttrace بشه تا بتونیم مشکل رو پیددا کنیم

منم سرچ کردم ولی به نتیجه ای نرسیدم

ارسال پاسخ برای این تاپیک

ارسال پاسخ مخصوص اعضا سایت می باشد ! میتوانید با حساب کاربری خود وارد سایت شده یا ثبت نام کنید