تاریخ عضویت: ۱۳۸۷ اسفند ۰۱
تشکرها : 35
( 43 تشکر در 19 ارسال )
سلام
حتما قسمت chat box جیمیل رو دیده اید . در این قسمت بدون رخداد هیچ رویدادی یعنی بدون زدن هیچ دکمه یا چیز دیگه ای افراد ی که آنلاین میشن نمایش داده میشه .
سوال من اینه چه جوری میشه این کار رو کرد . یعنی خود به خود یه تابعی که سازنده شی xmlHttp هست رو فراخونی کرد ؟؟؟؟؟؟/
تشکرها : 467
( 798 تشکر در 277 ارسال )
۱۳۸۸ تير ۰۶, ۰۲:۲۸ ب.ظ
(آخرین تغییر در ارسال: ۱۳۸۸ تير ۰۶, ۰۵:۲۲ ب.ظ توسط php.)
در واقع با جاوااسکریپت هر چند قیقه یک تابع رو فراخونی می کنیم که اون تابع همون تابع چک هست که از طرق تکنیک ajax یه در خواست به سرور می فرسته وسرور در جواب اون افراد انلاین رو میفرسته .
تاریخ عضویت: ۱۳۸۷ بهمن ۲۷
تشکرها : 94
( 276 تشکر در 144 ارسال )
نه خیر اینطور که حسین عزیز میگن نیست. در واقع گوگل از تکنولوژی comet یا همون ajax Push استفاده میکنه که در واقع رخداد در سمت سرور صادر میشه و سپس به تیع اون داده به کلاینت یا همون مرورگر ارسال میشه. روشی که حسین آقا میگن در واقع pulling هست که مشکل busyWaiting و سربار زیادی رو به سرور تحمیل میکنه.
تشکرها : 467
( 798 تشکر در 277 ارسال )
رضا جان میشه در این مورد بیشتر توضیح بدی .
تشکرها : 1363
( 6198 تشکر در 3439 ارسال )
یعنی چی به صورت معکوس استفاده شده؟
تاریخ عضویت: ۱۳۸۷ بهمن ۲۷
تشکرها : 94
( 276 تشکر در 144 ارسال )
http به روش معکوس اجرا نمیشه.
در یک مدل ساده روش کار به این صورته که درخواست توسط هدر از یک مرورگر برای سرور ارسال میشه. سرور پس از گرفتن درخواست و پردازش یک فایل html که میتونه حاصل از خروجی کامپایلر php یا هر سرور دیگه ای باشه رو به عنوان پاسخ برمیگردونه.
در آجکس روش به این صورت شد که درخواست به صورت آسنکرون به سرور ارسال میشه و سرور در جواب مقداری رو که میشه یه متن با ساختارهای مختلف نظیر xml باشه رو برمیگردونه.
تا اینجا برای ارسال سرور حتما میبایست یه درخواست از سمت کلاینت صادر میشد ولی در comet بدون صورت گرفتن درخواست از سمت کلاینت، سرور میتونه با دریافت یکسری event های غیر از کلاینت نظیر سرویس های سیستم عامل ، مقادیر مشخصی رو به کلاینت ارسال کنه.
نمودار بالا در واقع همون ajax هست و comet نیست چون پروتکل پرسش-پاسخ در اون مشاهده میشه.
تشکرها : 467
( 798 تشکر در 277 ارسال )
تو مقاله ای که من د این مورد خوندم اینجوری برداشت کردم که در خواستی از طرف کلاینت برای سرور فرستاده میشه و سرور در صورتی پاسخ میده که رویدادی اتفاق افتاده باشه .
در مورد عکسی هم که گذاشتم از همون مقاله برداشتم که در مورد روش ajax push توضیح میده .