PDA

View Full Version : سوال: نشان دادن اعضای انلاین



ehsanes
دوشنبه 12 مرداد 1388, 16:39 عصر
سلام
من می خوام وقتی کاربری وارد سایت میشه نشون بدم که کاربر در سایت حاضر مثلا وقتی انلاین هست چراغ سبز بشه و وقتی افلاین هست چراغ ابی بشه مثل همین انجمن چه کار باید بکنم

hozouri
دوشنبه 12 مرداد 1388, 17:39 عصر
یکی از بهترین راه حل هاش اینه که یه فیلد به جدول اضافه کنی مثلاً userOn .
وقتی کاربری وارد سایت شد اون فیلد برای همون کاربر رو ویرایش کن بشه true و وقتی خارج شد بشه false.
البته یک سری مشکلات مثل خروج ناگهانی از سایت هم هست که من نمی دونم اینا رو چه طور میشه کنترل کرد (مثلاً وقتی کاربر کامپیوتر رو ناگهانی Reset می کنه)

hobab-theme
دوشنبه 12 مرداد 1388, 20:45 عصر
البته یک سری مشکلات مثل خروج ناگهانی از سایت هم هست که من نمی دونم اینا رو چه طور میشه کنترل کرد (مثلاً وقتی کاربر کامپیوتر رو ناگهانی Reset می کنه)
فکر میکنم اگه این کاری رو که دوست خوبم جناب حضوری فرمودن رو از طریق فایل Global.asax انجام بدید خیلی بهتره
تو این فایل با مشاهده سایت توسط هر کاربر جدید یه Session جدید ایجاد میشه
این بهترین موقع برای انجام چنین عملی هست
خوب برای راه حل خروج ناگهانی هم میتونید مدت سپری شدن session رو تو فایل پیکربندی تنظیم کنید
پروتوکل http چنین امکانی رو نداره که خروج کاربر رو شناسایی کنه . ولی میتونه بفهمه که کاربر مدتی هیچ فعالیتی رو سایت انجام نداده که با تنظیم زمان مناسب به اون می فهمونیم که این امر رو خروج کاربر در نظر بگیره.
-------------------
تو فایل Global.asax دو نمونه Application وجود داره که مخصوص شناسایی ورود و خروج کاربر هستند
Session_Start و Session_End
امیدوارم این توضیح بکارت بیاد
اگه بازم سوالی داشتید اگه بتونم در خدمتم
موفق باشید

explod_javad
دوشنبه 12 مرداد 1388, 23:50 عصر
دوست من سلام
در این مورد خیلی بحث شده .اگه یه کمی جستجو میکردی ، پیدا می شد.
توی تاپیک زیر در این مورد بحث شده ، البته فکر می کنم نام کاربر آنلاین در این مثال ارائه شده ، قید نشده باشه ، ولی میتونی با کمی تغییرات انو بهش اضافه کنی .
یک نمونه پروژه آماده (http://www.barnamenevis.org/forum/showthread.php?t=149733)
http://barnamenevis.org/forum/showthread.php?p=657312
http://www.barnamenevis.org/forum/showthread.php?t=115928
http://barnamenevis.org/forum/showthread.php?t=140914

ehsanes
سه شنبه 13 مرداد 1388, 09:33 صبح
سلام
من مشکلی با نشان دادن اعضای انلاین ندارم نمی دونم چه طور این چراغ خاموش روشن بشه لطفا در این باره راهنمایی کنید

explod_javad
سه شنبه 13 مرداد 1388, 11:51 صبح
دوست من شما باید از طریق همین کد هایی که در لینک های معرفی شده وجود داره باید انجام بشه.
وقتی که یک کاربر آنلاین باشه ، اطلاعاتش توی یک سشن ذخیره میشه.
در کد های معرفی شده ، نام کاربر جایی ذخیره نمیشه .
شما باید نام کاربر را هم ثبت کنی.
موقع لود صفحه ، اگه نام کاربر جاری توی لیست آنلاین ها بود ، تصویر آیکون مروط به آنلاین بودن رو معادل سبز و در غیر این صورت هم ...

hobab-theme
سه شنبه 13 مرداد 1388, 12:04 عصر
ببین دوست عزیز طبق گفته خودتون

من مشکلی با نشان دادن اعضای انلاین ندارم نمی دونم چه طور این چراغ خاموش روشن بشه لطفا در این باره راهنمایی کنید
شما مشکلی با این کار ندارید
اصلش هم اینه که بتونید لیست اعضای آنلاین رو نشون بدید
وگرنه نشان دادن چراغ آن یا آف که کاری نداره
شما با یه دستور If ساده میتونید این کار رو انجام بدید

milade
سه شنبه 13 مرداد 1388, 12:20 عصر
سلام

وقتی افلاین هست چراغ ابی بشه
عجب ! جدیداً ابی این رنگی شده ما خبر نداشتیم !

البته یک سری مشکلات مثل خروج ناگهانی از سایت هم هست که من نمی دونم اینا رو چه طور میشه کنترل کرد (مثلاً وقتی کاربر کامپیوتر رو ناگهانی Reset می کنه)
میتونی هر چند دقیقه یه پارامتر بفرستی سرور که وضعش رو مشخص کنه .
و مثلاً اخرین زمان چک شدن رو بررسی کنی ، مثلاً میبینی باید هر 2 دقیقه چک بشه و در حالی که فلان کاربر الان 10 دقیقه هست وضع خودش رو خبر نداده و اون رو اف کنی .