50٪ تخفیف روی تمام دوره‌ها!
پایان تخفیف تا:
مشاهده دوره‌ها
0

مشکل در کد نویسی برنامه تحت شبکه ب زبان c#

سلام دوستان

برای نوشتن نرم افزار تحت شبکه (سوکت) جهت دریافت داده ها باید متدی ب صورت مداوم فراخوانی شه.

اشکال اینجاست که اگه این متد رو داخل حلقه فراخوانی کنم برنامه ب حالت not responding در میاد. (حلقه رو داخل رویداد یک دکمه فرم مینویسم)

راه دیگه هم استفاده از تایمره ک تو سیستم خودم با interval 7000 خوب کار میکنه اما 7 ثانیه delay ایجاد میشه.

سوال اینه ایا استفاده از تایمر درسته و این که اگه برنامه تو سیستم کند تر اجرا شه با این اینتروال هنگ نکنه؟ اصلا میشه از حلقه استفاده کرد طوری ک برنامه قفل نشه؟

لطفا راهنمایی کنید با تشکر

پرسیده شده در 1394/04/19 توسط

3 پاسخ

1

سلام دوست عزیز

راه حل مشکل تو استفاده از thread ها هستش. به این شکل که یه thread میسازی و اون تابعی که حلقه توش هست رو بهش میدی و اونو استارت می کنی هر وقت هم که خواستی اینتروال داشته باشه حلقه ات ترد رو sleep می کنی. با این کار برنامت به کار خودش ادامه میده و تابعی که داری به صورت جداگانه و بدون این که برنامه هنگ کنه کار می کنه. در لینک زیر کارهایی که گفتم به صورت برنامه نشان داده شده است. معرفی thread در C#

پاسخ در 1394/04/19 توسط
0

بله کار میکنه چون این روش در سطح برنامه پیاده سازی شده و نه در سطح سخت افزار و پردازنده. پس می تونی این برنامه رو روی هر سیستمی که C# رو اجرا می کنه نصب کنی و به راحتی باهاش کار کنی

پاسخ در 1394/04/20 توسط
0

این روش تو سیستم های تک پردازنده ای و قدیمی یا پردازنده های ک multi threading رو ساپورت نمیکنن کار میکنه؟

پاسخ در 1394/04/20 توسط

پاسخ شما