PDA

View Full Version : سوال: تشخیص رخ دادن تغییرات به صورت آنی و خودکار



netfa.ir
شنبه 28 فروردین 1389, 05:05 صبح
با سلام خدمت شما عزیزان.
من یه سوالی در مورد برنامه های دات نت واسم پیش اومده.
من برای انجام کارهایی مثل ارسال/دریافت پیام و ... در دستگاههای کلاینت نیاز دارم که برنامه در صورتی که از برنامه سرور دستور و یا پیامی رو دریافت می کنه به صورت خودکار و آنی مثلا یه بالون و یا یه پیام نشون بده.

حالا مشکل اینه که من از چه روشی استفاده کنم که برنامه ها به صورت خودکار و با کمترین درگیری پردازشگر به صورت آنی این تغییرات رو در دیتا بیس و یا فایل متوجه بشه؟؟؟
یا حتی در مواردی که ما یه مسنجر می نویسیم چطور پیامها رفرش میشه و برنامه متوجه میشه که مثلا فلان پیام دریافت شده.

من فکرم رو تایمر رفته بود که اون پروسس میگیره واسه اینکار.
دوستان اگه پیشنهاد یا ایده ای داشتین خوشحال می شم بشنوم.
خیلی اینجا گشتم ولی فکر کنم عنوان جستجوم جوابی نداشت.

بازم ممنون

mahmoodramzani
شنبه 28 فروردین 1389, 06:21 صبح
فکر می کنم باید ۲ روش باشه،یا شما کدی می نویسی که در زمان های مختلف اتفاق افتادن چیزی رو چک کنه،یا اون خودش بعد از اتفاق افتادنش بهتون پیغام می ده.
اگه تو لایه های زیرین هم نگاه کنی می بینی که همه برنامه ها از یکی از همین ۲ روش استفاده می کنن.
مثلا در مورد برنامه پیام رسان که گفتید،در لایه های زیرین ون برنامه حتما داره از socket استفاده می کنه که این هم یعنی اینکه ی حلقه بی نهایت داره که داره اطلاعات رو می خونه.

exlord
شنبه 28 فروردین 1389, 10:37 صبح
میتونی از wcf استفاده بکنی تابه محض اینکه چیزی براش اومد خودش خبر بده...

mehdi.mousavi
شنبه 28 فروردین 1389, 10:49 صبح
سلام.
همونطور که آقای رمضانی اشاره کردن، در کل دو روش برای چنین کارهایی وجود داره:


Server Push
Client Pull

یعنی یا سرور، Client ها رو از حادث شدن رخدادی مطلع میکنه (Server Push) یا Client خودش توی Interval های تعیین شده از سرور آخرین وضعیت رو دریافت میکنه. (Client Pull). توی هر تکنولوژی ای، روشهای متفاوتی برای هر یک از دو روش فوق وجود داره. بر اساس تکنولوژی مورد نظرتون (همانند WSE، ASP.NET Web Services، WCF، SOAP Toolkit و ...)، سوال رو در بخش مناسب مطرح کنید تا به اون پاسخ داده بشه.

موفق باشید.

netfa.ir
شنبه 28 فروردین 1389, 13:45 عصر
ممنون از پاسخهای شما عزیزان.

من با C#.Net کار می کنم و اگه لطف کنید یه مثالی بزنید و این توضیحات رو کاملتر کنید ممنون میشم.
درکل یه کم تازه واردم.
یا علی