واضح آرشیو وب فارسی:سایت ریسک: پیدا کاردن کاربرانی آنلاین بر روی سایت www.nero.ir 17 دي 1387, 12:56سلام دوستان من رووی یک سایتی که دارم می نویسم یک عضویت و یک لوگین دارم . می خوام یک چیزی مثل همین فروم مجید آنلاین که پایین نشون میده کدوم کاربر روی سایت هستن براش بزارم ولی نمیدونم چطور باید بفهم که کدوم session ها روی سایت هستن. لطفا من رو راهنمایی کنید ziXet 17 دي 1387, 14:48فکر کنم باید سشن ها رو رو دیتابیس مدیریت کنی تا راحت بتونی گیر بیاری! حداقل باید کاربرایی که آنلاین هستن رو تو دیتابیس ذخیره کنی amir01 17 دي 1387, 16:25راحت ترین راهش به نظر من اینه که تو تیبل یوزرها یه فیلد به اسم online بذاری و وقتی کاربر لوگین میکنه مثلا توش 1 بریزی و وقتی میره بیرون 0 بعد بقیه ماجرا ... foranyone 17 دي 1387, 21:04راحت ترین راهش به نظر من اینه که تو تیبل یوزرها یه فیلد به اسم online بذاری و وقتی کاربر لوگین میکنه مثلا توش 1 بریزی و وقتی میره بیرون 0 بعد بقیه ماجرا ... اگه کاربر رو خروج کلیک نکنه میشه اون یک رو بازم صفر کرد؟ parsiteam 17 دي 1387, 21:41یک فیلد دیگه هم بزار بنام time . زمان ورود کاربر رو هم بریز توش . بعد با هر بار لود شدن سایتت چک کن که اگر اختلاف زمان حال با فیلد هر کاربر مثلا 5 دقیقه بیشتر بود فیلد online رو به صفر تغییر بده . البته باید وقتی کاربر لوگین میکنه هر صفحه ای رو که باز میکنه زمان فیلد ورودی رو همش با زمان جدید تطیبیق بدی . foranyone 17 دي 1387, 21:53بعد با هر بار لود شدن سایتت چک کن که اگر اختلاف زمان حال با فیلد هر کاربر مثلا 5 دقیقه بیشتر بود فیلد online رو به صفر تغییر بده . البته باید وقتی کاربر لوگین میکنه هر صفحه ای رو که باز میکنه زمان فیلد ورودی رو همش با زمان جدید تطیبیق بدی اصلا روش خوبی نیست به نظر من البته:wink: کاربر بیچاره رو اینجوری بعد هر 5 دقیق idle موندن میندازین بیرون در حالی که آنلاین تشریف داره! میدونیین اگه تعداد کاربران سایت زیاد باشه چه ترافیک هولناکی تو سرور بدبخت ایجاد میشه! parsiteam 17 دي 1387, 22:12اصلا روش خوبی نیست به نظر من البته:wink: کاربر بیچاره رو اینجوری بعد هر 5 دقیق idle موندن میندازین بیرون در حالی که آنلاین تشریف داره! میدونیین اگه تعداد کاربران سایت زیاد باشه چه ترافیک هولناکی تو سرور بدبخت ایجاد میشه! حرف ترافیکتو قبول دارم . ولی خب راه حل بهتری سراغ داری ؟ درضمن خب زمان رو میکنیم 10 دقیقه . بعدشن کاربری که 10 دقیقه بدون فعالیت باشه یعنی حضور نداره دیگه . :d MDP 17 دي 1387, 22:56والا ما توی ASP.Net متغیری داریم به اسم Application که برای تمام کاربران ثابته. مثل Session می مونه ولی برای هر کاربر فرق می کنه. ما اونو هر بار که کاربر جدید میاد یکی زیاد می کنیم و هروقتی هم که سیشن از بین بره یکی کم می کنیم. ببینید توی PHP هم چین چیزی هست! foranyone 17 دي 1387, 23:07درضمن خب زمان رو میکنیم 10 دقیقه . بعدشن کاربری که 10 دقیقه بدون فعالیت باشه یعنی حضور نداره دیگه . :d به نظر من بازم کدت فقط تو حالات خاص جواب میده (کد خوب باید همیشه درست جواب بده) تو روش شما ، هربار که سایت لود میشه اول همه ی کاربرانی که فیلد آنلاین براشون یک هست باید Select شن بعد زمان ها با زمان فعلی مقایسه شن ، بعد کلی عمل update به صفر صورت بگیره !! و .... هر کاربر جدیدی که میاد سایت کل این کارا بازم انجام میشه و یعنی اگه 100 تا کاربر با اختلاف صدم ثانبه بیان که وا ویلا!!! کار سایت میشه تحلیل آنلاین ها و کاربران و به کارای دیگش نمیرسه:D من فعلا در مورد روش بهتر نظری ندارم ولی به هیچ وجه روش بالا خوب نیست! ziXet 18 دي 1387, 08:58اصلا روش خوبی نیست به نظر من البته:wink: کاربر بیچاره رو اینجوری بعد هر 5 دقیق idle موندن میندازین بیرون در حالی که آنلاین تشریف داره! میدونیین اگه تعداد کاربران سایت زیاد باشه چه ترافیک هولناکی تو سرور بدبخت ایجاد میشه! همه سیستم های بولتین برد از این روش استفاده میکنند. این کارا به سرور قشار نمیاره! چون کوئری سنگین نیست foranyone 18 دي 1387, 13:11همه سیستم های بولتین برد از این روش استفاده میکنند. این کارا به سرور قشار نمیاره! چون کوئری سنگین نیست __________________ میشه توضیح بدبن چطور میشه کاربران مهمان رو تشخیص داد؟ www.nero.ir 18 دي 1387, 14:48ممنون دوستان عزیز از جواب هاتون راهی که parsiteam گفتند عملی هستش ولی فکر مکی کنم سیو کردن سشن در دیتابس بهتر باشه چون جایی خوندم که از لحاظ امنیتی هم بهتر هستش . و میشه وضیعت سشن کاربر رو از بانک چک کرد به راحتی . کسی تا حالا این کار رو انجام داده ؟ اطلاعاتی داره ؟ parsiteam 18 دي 1387, 16:02منظورت از ذخیره کردن سژن چیشه ؟ آیدی سژن ؟ بعد خود چطوری میخوای بفهمی که سژن تموم شده ؟ alilahoori 25 دي 1387, 12:40سلام. منم روش فعلی رو قبول دارم. با اینکه به نظر میاد راه های بهتری هم وجود داره ولی این روش در حال حاضر وجود داره. پس بهتره درباره چیزی که وجود داره صحبت کنیم ;) منتظر پیدا کردن روش های بهتر هم هستیم..... در ضمن، سرور باید خیلی ضعیف باشه که روی این کوئری های سبک هرچقدر هم تعدادش زیاد باشه، ضعیف عمل کنه.
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 625]