PDA

View Full Version : نطر شما در مورد یاداوری اتفاق به کاربر



mohammad-gh
پنج شنبه 15 فروردین 1392, 00:54 صبح
سلام
فرض کنیم می خواهیم در سایتمان به کاربر رسیدن پیامی رو گوشزد و وی را باخبر کنیم
پیام به هر طریق وارد پایگاه داده شده و می خواهیم کاربر بدون رفرش متوجه رسیدن پیامی به او شود

به نظر شما بهترین و کم بار ترین و پرسرعت ترین راه چی می تونه باشه!!

SilverLearn
پنج شنبه 15 فروردین 1392, 01:04 صبح
خوب معلومه دیگه استفاده از آجاکس :)

Veteran
پنج شنبه 15 فروردین 1392, 10:28 صبح
پیام به هر طریق وارد پایگاه داده شده و می خواهیم کاربر بدون رفرش متوجه رسیدن پیامی به او شودفیسبوک هم در بعضی از قسمت ها به این شکل عمل میکنه
مثلا اگر یک فردی برای شما کامنت بزاره درجا به شما خبر میده !
اما چجوری !

رضا قربانی
پنج شنبه 15 فروردین 1392, 10:47 صبح
اگر فعلا می خواهی کارت راه بیافته می تونی کلک رشتی بزنی : توی head قالب یه کد رفرش بذار مثلا هر 15 ثانیه صفحه رفرش بشه تا پیام اگر بود نمایش داده بشه
else
در غیر این صورت باید ایجکس یاد بگیرید

colors
پنج شنبه 15 فروردین 1392, 11:42 صبح
اگر فعلا می خواهی کارت راه بیافته می تونی کلک رشتی بزنی : توی head قالب یه کد رفرش بذار مثلا هر 15 ثانیه صفحه رفرش بشه تا پیام اگر بود نمایش داده بشه

داش رضا این جور پیشنهادها از شما بعیده, اینجوری که کل ساختمان میزبانش میترکه :لبخند:

colors
پنج شنبه 15 فروردین 1392, 12:42 عصر
فیسبوک هم در بعضی از قسمت ها به این شکل عمل میکنه
مثلا اگر یک فردی برای شما کامنت بزاره درجا به شما خبر میده !
اما چجوری !

چجوریش رو دقیق نمیدونم, ولی مطمئنا این خبرو سرور به کلاینت میده. مثلا به فرض سمت سرور تعریف شده: اگه تو بانک و جدول کامنت ها تغییر کرد, فلان تابع یا ... اجرا بشه و ببینه برای کدوم کاربره و اگه آن باشه همون لحظه توسط ایجکس به بخش (html) کدها اضافه و alert بده. اگر آف بود که هنگامی که صفحه لود میشه همراه با آلرت بهش خبر میده که آقا تو جدول کامنت های یه چیزی واست دارم.

رضا قربانی
پنج شنبه 15 فروردین 1392, 13:09 عصر
داش رضا این جور پیشنهادها از شما بعیده, اینجوری که کل ساختمان میزبانش میترکه :لبخند:
برای شروع پیشنهاد بود دیگه :لبخند:
نمی دونم کی بود می گفت به ابتدایی برسید که هنوز دانشگاه دیر است

mohammad-gh
پنج شنبه 15 فروردین 1392, 17:33 عصر
من از لحاظ تجزیه و تحلیل مشکل ندارم و ایجکس رو هم خوب بلدم
می خواستم نظر شما رو در مورد بهترین روش بدونم
من خودم هم در نظر دارم که کاری کنم که در هدر سایت کاربر متوجه اتفاق جدید بشه
اما راستش نمی دونم چطور پیادش کنم
فرض کنید با اجاکس نوشتم ،‌اجاکس که خود به خود نمیاد ببینه پیامی برای کاربر اومده باید کدی نوشت که این مورد چک بشه
من بر ای همین قسمت می گم پرسرعت ترین ،‌چون شنیدم روشهایی هست که سرور گوش بزنگه و هر وقت اتفاق مورد نظر ما می افته سریع خبر میده
نه اینکه رفرش بشه و به پایگاه داده وصل بشه و ....

مهرداد سیف زاده
پنج شنبه 15 فروردین 1392, 17:55 عصر
با ajax راحت میشه پیاده کرد تابعی مینویسی که هر 5 ثانیه یه پیغام به صورت post به طرف سرور ارسال کنه حالا مکانیسم این طوری هست:
۱- موقع بارگزاری صفحه تعداد پیامهای کاربر 10 تا هست که مثلا آخرین id پیامها فعلا 10 هست. این تعداد بصورت فعلی برای صفحه فرستاده میشه تا آخرین تعداد را داشته باشه
2 - بسته به قدرت سرور تابعی توی ajax مینویسی که هر 5 یا 10 ثانیه به طرف فایلی مثلا message.php یه پیام بصورت post فرستاده بشه این پیام شامل مقدار فعلی آخرین id پیامها هست.
3- مقدار فعلی(دریافت شده از ajax) با آخرین id پیامها(در دیتابیس) مقایسه میشه اگر برابر باشه کاربر پیام جدید نداره(بیخیال میشه و برای فشار کمتر به سرور اصلا هیچ مقداری بر نمیگردونه) و اگر بزرگتر باشه پس کاربر پیام جدید داره - تعداد شماره های بزرگتر رو برمیگردونه
4- تابع ajax باید data رو دریافت کنه و در قسمت مشخص شده برای نشان دادن تعداد پیامها دریافت شده، نشون بده.

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

2undercover
پنج شنبه 15 فروردین 1392, 18:01 عصر
این روشی رو که مهرداد 66 گفت رو اصلا توصیه نمی کنم!

اسم این روش که خودتون اشاره کردین COMET هست که کاربر eshpilen (هنوز مفهوم این اسمو نفمیدم :دی) یک آموزش خوبی توی سایتش قرار داده اینم لینکاش:

COMET چیست! (http://www.hamidreza-mz.tk/?p=573)

COMET چیست (2)! (http://www.hamidreza-mz.tk/?p=578)

COMET چیست (3)! (http://www.hamidreza-mz.tk/?p=589)

مهرداد سیف زاده
پنج شنبه 15 فروردین 1392, 19:17 عصر
بله بنده هم گفتم بسته به قدرت سرور هست. البته این روش هم کار میکنه برای خودم هم جالبه چطور با فشار کمتری این کار انجام بشه بهتره. مثلا روشی رو که من گفتم فرض کنیم یه سایت روزی 100 تا بازید کننده داشته باشه حالا برای گرفتن پیامهای جدیدشون هر 10ثانیه هم به سرور درخواست ارسال بشه== انفجار سرور


این روشی رو که مهرداد 66 گفت رو اصلا توصیه نمی کنم!

اسم این روش که خودتون اشاره کردین COMET هست که کاربر eshpilen (هنوز مفهوم این اسمو نفمیدم :دی) یک آموزش خوبی توی سایتش قرار داده اینم لینکاش:

COMET چیست! (http://www.hamidreza-mz.tk/?p=573)

COMET چیست (2)! (http://www.hamidreza-mz.tk/?p=578)

COMET چیست (3)! (http://www.hamidreza-mz.tk/?p=589)

mohammad-gh
پنج شنبه 15 فروردین 1392, 23:36 عصر
این شد یه چیزی ، خیلی از comet خوشم اوم
مخصوصا که با فایها کار می کنه

کسی اگر توضیحات یا راهنمایی بیشتری روی این روش داره بگه
من رفتم تا این روش رو کار کنم !