نمایش نتایج 1 تا 9 از 9

نام تاپیک: refresh برنامه تحت شبکه

  1. #1
    مهمان

    Tick refresh برنامه تحت شبکه

    با سلام خدمت همه دوستان
    سوال من اینه که در یه برنامه تحت شبکه که چند برنام به یک بانک sqlserver وصل شدن چطوری وقتی یکی از برنامه ها داده ای ره post کرد برنام های دیگه بلافاصله خودشون update یا همون refresh بشن
    با تشکر

  2. #2
    کاربر دائمی آواتار SReza1
    تاریخ عضویت
    تیر 1382
    محل زندگی
    کنار تعدادی تراریوم و کاکتوس!
    پست
    702
    یه روش به کمک Socket programing است که به محض اینکه رکوردی update شد به تمام clientها پبغام بدی

    یه روش دیگه هم به کمک یه timer است که مثلا هر چند باز بکیار بانک رو چک میکنه! من روش اول رو توصیه میکنم

  3. #3
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    123
    میشه در مورد روش اول بیشتر توضیح بدین (اگر هم با یک مثال عملی باشه که دیگه عالی میشه 8) )

  4. #4
    کاربر دائمی آواتار SReza1
    تاریخ عضویت
    تیر 1382
    محل زندگی
    کنار تعدادی تراریوم و کاکتوس!
    پست
    702
    خوب به کمک socketها شما میتونانید به راحتی ارسال Message کنید به هر clinet که مثلا فلان رکورد اضافه شد!
    میتونی یه نگاه به مثال netchat در دلفی 7 بندازی متوجه میشی! البته ربطی به database نداره ولی میتونی از اون استفاده کنی! در انترنت هم زیاده!

  5. #5
    کاربر دائمی آواتار vatal
    تاریخ عضویت
    آبان 1382
    محل زندگی
    knarck@gmail.com
    پست
    136
    با سلام خدمت دوستان 8-)
    فکر کنم میشه این کار و ساده تر و با استفاده از Triger در SQL Sever
    انجام داد :wink:

  6. #6
    جناب vatal لااقل می فرمودید چگونه؟ کمی هم در مورد Triger توضیح می دادید! :oops:

  7. #7
    مهمان
    من یه روشی خوب پیدا کردم یعنی کسی بهم گفت و بهم نشون داد
    یک شی از نوع com ساخته بود و این شی خودش متوجه تغییر میشد و میتونستیم با رویداد اون کلاینت ها refresh کنیم البته من سورس رو هنوز ندیدم و اون فقط روش رو گفت چون سورس همراش نبود حالا اگه کسی اینو کامل بلده یه لطفی بکنه و بنویسه

    با تشکر

  8. #8
    دوست عزیزم،
    در این کار، گاها ترجیح داده میشه که کاربر توسط مثلا یک کلید Refresh در مواقعی که نیاز داره، اطلاعات روی Client خودش رو به روز کنه. اما اگر الزاما این کار باید به صورت کاملا اتوماتیک انجام بشه، شما باید از یک ابزار Notification استفاده کنین. استفاده از Timer برای Refresh کردن در صورتی که حجم رکوردها کم باشه و ترافیک زیاد در شبکه ایجاد نکنه شاید بی درد سرترین راه باشه.
    اما در مورد Notification که اصولی ترین روش هست، ابزار مختلفی وجود داره مثل DCOM. در این روش، یک COM Object به عنوان سرور روی کامپیوتری که SQL Server نصب شده قرار میگیره. هر کلاینت به محض لاگین کردن، خودش رو در COM Object(روی سرور) رجیستر میکنه. هر بار که یکی از کلاینتها رکورد جدیدی وارد دیتابیس میکنه، به COM Object اطلاع میده. COM Object که لیست تمام کلاینتهای در حال کار رو داره، بهشون اصطلاحا یک Callback Message ارسال میکنه و اونها متوجه میشن که باید اطلاعات خودشون رو Refresh کنن و کاربر برنامه نیازی به انجام کار اضافی نداره. همونطور که عرض کردم DCOM یکی از روشهای Notify کردن هست و تنها راه نیست.
    موفق باشید،
    امین ثباتی MCSD

  9. #9
    فکر کنم میشه این کار و ساده تر و با استفاده از Triger در SQL Sever
    Triger در سطح SqlServer است که بانکها نیازی به Refresh ندارند
    و اصولا چگونه از طریق Triger شما Refresh می کنید؟ :wink:

تاپیک های مشابه

  1. refresh صفحه و دردسرهای آن
    نوشته شده توسط shahramasp در بخش ASP.NET Web Forms
    پاسخ: 5
    آخرین پست: دوشنبه 26 تیر 1391, 12:20 عصر
  2. مشکل Refresh تصویر...
    نوشته شده توسط aloneman2005 در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 4
    آخرین پست: پنج شنبه 27 اردیبهشت 1386, 11:05 صبح
  3. refresh کردن یک رکورد
    نوشته شده توسط MNosouhi در بخش برنامه نویسی در Delphi
    پاسخ: 5
    آخرین پست: شنبه 16 دی 1385, 10:00 صبح
  4. refresh کردن صفحه نمایش
    نوشته شده توسط ARA در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 0
    آخرین پست: دوشنبه 17 مهر 1385, 10:01 صبح
  5. مشکل refresh صفحه و کش شدن اطلاعات در سرویس دهنده اینترنت
    نوشته شده توسط Ehsan Rafsanjani در بخش ASP.NET Web Forms
    پاسخ: 5
    آخرین پست: جمعه 25 فروردین 1385, 14:14 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •