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

نام تاپیک: تشخیص خروج Client

  1. #1
    کاربر دائمی آواتار sjhosseini
    تاریخ عضویت
    آذر 1384
    محل زندگی
    بابل
    پست
    102

    تشخیص خروج Client

    سلام
    تو یک برنامه Client/Server (برای نمونه یک برنامه Chat) سیستم سرور چطور می تونه متوجه خروج ناگهانی یک Client بشه منظورم خروج کلاینت بدون عملی شبیه Sing out
    البته چک کردن کلاینتها در فواصل زمانی رو انجام دادم و نتیجه هم داد .ولی فکر کنم اینکار باعث افزایش CPU Usage بشه.
    دوستان اگه راه بهتری دارن ممنون میشم کمک کنن.

  2. #2
    کاربر دائمی آواتار ASKaffash
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    پست
    2,427
    با سلام
    با استفاده از Soucket Programing کافی است هنگام بسته شدن فرم موردنظر در Client از طریق پورت فی مابین اطلاع به برنامه روی Server داده شود

  3. #3
    سلام
    دوست عزیز sjhosseini ممنون میشم اگه روشهایی که استفاده کردی و یه کم کاملتر توضیح بدی چون منم به جواب این سئوالت نیاز دارم
    با استفاده از Soucket Programing کافی است هنگام بسته شدن فرم موردنظر در Client از طریق پورت فی مابین اطلاع به برنامه روی Server داده شود
    در مورد soucket programming برای این کار هم اگه میشه کاملتر توضیح بدین و در صورت امکان با مثال یا توضیح باشه . ممنون

  4. #4
    کاربر دائمی آواتار sjhosseini
    تاریخ عضویت
    آذر 1384
    محل زندگی
    بابل
    پست
    102
    نقل قول نوشته شده توسط ASKaffash مشاهده تاپیک
    با سلام
    با استفاده از Soucket Programing کافی است هنگام بسته شدن فرم موردنظر در Client از طریق پورت فی مابین اطلاع به برنامه روی Server داده شود
    خوب اگه فرم كلاينت درست و طبق روال بسته ميشد كه مشكلي نبود
    مشكل زماني پيش مياد كه برنامه كلاينت ناخواسته بسته بشه براي مثال رفتن برق-هنگ كردن برنامه و ...
    مثل زماني كه شما بدون signOut مسنجر رو ببندي و اين باعث ميشه ID شما تا مدتي توي ليست ديگرا Online باشه در صورتيكه شما Offline هستيد.
    شايد همون راه حل خودم بهتر باشه

  5. #5
    خوب دوست عزیز همون راه حل خودت و که میگی ، همونو بذار که بقیه هم استفاده کنن.
    مگه اینکه بخوای فقط کار خودت راه بیافته

  6. #6
    VIP آواتار رضا عربلو
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    پست
    1,597
    من از socket programming زیاد سر رشته ندارم. ولی
    در دات نت ریموتینگ یک روش برای کنترل lifetime آبجکت های که در سمت سرور ایجاد می شوند وجود دارد به نام Lease Sponsorship، و نحوه کار آن به این صورت است که یک طول عمر اولیه برای هر remote object در نظر گرفته می شود و وقتی که این زمان به پایان رسید clr نگاه می کند که آیا آبجیکت ما sponsorی دارد یا نه و تا وقتی که یک آبجیک sponsor برای remote object ما وجود داشته باشد remote object گاربیج نمی شود و زمان lifetime ان تمدید می شود. و نکته جالب قضیه این است که این آبجیکت اسپانسور می تواند در سمت کلاینت و یا سرور تعریف شود.

    گفتم شاید مفید باشد.
    اگر Net. نمی دانید وارد نشوید.

  7. #7
    با توجه به مطالبي كه جناب عربلو گفتند اگه دقت كرده باشيد Yahoo Messenger هم از روش مشابهي استفاده مي‌كنه يعني اگه كسي ناگهاني بدون SignOut خارج بشه تا چند دقيقه بعدش در ليست بقيه چراغش روشنه
    يعني yahoo در فواصل زماني مشخصي كه شما Idle هستيد و پيغامي نمي‌فرستيد براي Messenger شما پيغامهايي ارسال مي‌كند اگر Messenger شما پاسخ داد كه پيغام Idle را در كنار چراغ شما مي نويسد و در غير اينصورت شما رو SignOut شده در نظر مي‌گيرد
    اميدوارم تونسته باشم كمكي بكنم
    موفق باشيد
    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

  8. #8
    کاربر دائمی آواتار sjhosseini
    تاریخ عضویت
    آذر 1384
    محل زندگی
    بابل
    پست
    102
    پس یه نوع HandShaking اتفاق میفته.اگه این قابلیت تو سوکت وجود داشته باشه عالیه وگرنه باید از ارسال پیغام استفاده کنیم

  9. #9
    کاربر دائمی آواتار arashmidos2020
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    سن
    35
    پست
    190

    نقل قول: تشخیص خروج Client

    اگر ت وسوکت پیداش کردی به ما هم بگو
    ممنون

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

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