PDA

View Full Version : نشون دادن آنلاین ها



scmorfi
دوشنبه 05 تیر 1391, 15:11 عصر
با سلام
من دارم چتروم مینویسم
بعد میخوام وقتی کسی پنجره رو بست از قسمت آنلاین ها حذف شه
یکی از دوستان استفاده از تریگر رو پیشنهاد داد
دوستان اگه میشه اطلاعاعی مطلبی در این مورد هست یا میدونید میشه بهم بگید که چه روشی بهتره

Unique
دوشنبه 05 تیر 1391, 19:56 عصر
کافیه توی رویداد onclose مربوط به پنجره یک ajax به سرور بدین و شخص را logout کنین !

scmorfi
دوشنبه 05 تیر 1391, 21:45 عصر
نه داداش این زیاد حرفه ای نیست
اومدیمو طرف کامیوتر رو خاموش کرد یا ریست شد
اصلا مرورگر رو بست
اون موقعه چکار کنیم؟

plague
سه شنبه 06 تیر 1391, 01:32 صبح
شما با استفاده از تکنولوژی های که برای Im وجود داره میتونید این مشکلات رو به راحتی حل کنید ولی خب خرج داره اونها
بدون سرور اختصاصی push بهترین راهی که میتونی بکنی اینه که برای هر یوزر یه فیلد last_activity توی دیتایبس تعریف کنید و مثلا هر 5 دقیقه یکبار از کلاینت یه درخواست میفرستی به سرور و این فیلد رو آپدیت میکنی برای هر یوزر
همچنین چک میکنید که کیا هستن که اخرین زمان فعالیتشون بیش از 5 دقیقه بوده یعنی پیام جدید برای آپدیت شدن از مرورگرشون نیومده
افرادی که بیش از 5 دقیقه از آخرین فعالیتشون گزشته لاگ اوت کرده محصوب میشن و از پنجره چت حالا یا حذف میشن یا چراغشون خارج میشه یا حالا هرچی

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

scmorfi
سه شنبه 06 تیر 1391, 16:12 عصر
داداش اینی که میگی زیاد حرفه ای نیست
دوستان کسی با تریگر کار کرده؟

IamOverlord
سه شنبه 06 تیر 1391, 16:28 عصر
کجاش حرفه ای نیست دوست عزیز... یا باید خود کاربر بگه رفتم بیرون، که اگه نگفت مشکل پیش می آد، یا کاربر بگه هنوز نرفتم بیرون که اگه نگفت مشکل پیش نمی آد... و شما می فهمی رفته بیرون، فقط باید یه تابع Update رو براش setinterval کنی و همون طور که دوستمون گفت در طرف سرور هم آخرین فعالیت که همون آخرین Update کاربر هست رو زمانش رو چک کنی...
یا اگر بتونی هر وقت لازم شد از کاربر سوال کنی که هستی یا نه...
یا ... .

plague
سه شنبه 06 تیر 1391, 23:43 عصر
این روش حرفه ای ترین روش موجود برای شماست
خیلی حرفه ای میخاید برید سرور comet تهیه کنید

تریگر هم ظاهرا شما اطلاع ندارید چیه و چیکار میکنه ! هیچ ربطی به این چیزی که شما میخاید نداره و من نمیدئونم چه کسی و به چه دلیل پای تریگر رو کشونده وسط
تریگر یه تیکه کده که وقتی دیتابیس شما تغییر بکنه اجرا میشه و روی همون دیتابیس شما اجرا میشه
یعنی هیچ ارتباط مستقیمی با اپلیکیشن شما نداره