PDA

View Full Version : حرفه ای: ساخت web page listener



daneshjoo2
چهارشنبه 05 آبان 1389, 02:51 صبح
سلام
یکی از مشکلاتی که شاید خیلی از دوستان داشته باشن، ایجاد یک listener در script صفحه باشه، به این منظور که Server رو listen کنه...
برای همین دقیقا باید عکس کاری رو کرد که با ajax انجام میدیم، روال تو اجکس اینه که یه trigger تو Script صفحه اتفاق می افته که در قبال اون یه web method صدا زده میشه، تو این مدل می خوام برعکس این اتفاق بیفته، یعنی trigger تو server اتفاق بیفته و در ازای اون یه متد از script صفحه صدا رده بشه...
برای مثال وقتی تو سایت جیمیل یه ایمیل برای کاربر فرستاده میشه، بدون رفرش کردن صفحه به تعداد ایمیل ها یه عدد اضافه میشه. مشابه همین اتفاق تو قسمت notify فیس بوک هم هست.
یه سلوشن اینه که یه متد داخل یه تایمر با اینتروال مشخص با اجکس به یه web method وصل بشه و اتفاقات سرور رو sense کنه. ولی با این مدل هم performance سیستم پایینه هم زمان از دست رفته داریم.
به عنوان مثال تو قسمت چت یاهو با جیمیل وقتی طرف در حال تایپ کردنه تو صفحه طرف مقابل پیغامی مبنی بر تایپ کردن طرف دیگه رو بلافاصله نشون میده... یا اگه دوستان با google wave کار کرده باشن، اونجا کاراکتر های تایپ شده توسط طرف دیگه عینا و بلافاصله رو صفحه شما هم به طور live در حال تایپ شدن نمایش داده میشه!!!
با استفاده از ASP.NET و اجکس میشه پیاده سازیش کرد؟ دوستان رفرنسی یا تجربه ای تو این زمینه دارید؟
با تشکر

maxpayn2
چهارشنبه 05 آبان 1389, 12:09 عصر
هم اکنون نیازمند یاری (هر رنگی که دوست دارید) تان هستیم ، اساتید لطفا در بحث شرکت کنند .

Behrouz_Rad
یک شنبه 09 آبان 1389, 12:14 عصر
در حال حاضر از تکنیک های AJAX و Comet بدین منظور استفاده میشه اما همون طور که گفتی این روش ها سربار به سیستم تحمیل می کنه و پیاده سازی صحیحش پیچیدگی های خاص خودش رو داره.
HTTP یک پروتوکول ارتباطی یک طرفه و اصطلاحاً half-duplex هست. بدین معنا که یک ارتباط یک طرفه شکل می گیره و همیشه باید درخواستی برای برقراری ارتباط ارسال بشه تا مقصد پاسخ ارسال کنه.
در HTML 5.0 قابلیتی با عنوان Web Socket اضافه شده که پروتوکلی جدید هست. این پروتوکل full-duplex است و باعث میشه Client و Server همیشه در حالت listening باشن و نیاز به ارسال مکرر درخواست برای آگاهی از وجود اطلاعاتی جدید جهت انجام عملی خاص بر مبنای اون وجود نداره.
میشه نتیجه گرفت که این پروتوکول باعث کاهش پهنای باند و کاهش تاخیر ارسال پاسخ خواهد شد. آدرس های این پروتوکل با //:ws و برای SSL به صورت //:wss شروع می شوند. Server باید از این پروتوکل پشتیبانی کنه. پیشتر در CodeProject نمونه ای برای کار با این پروتوکول دیده بودم.

در حال حاضر، Opera از نسخه ی 11.0 که چند وقت پیش منتشر کرد، Chrome از نسخه ی 5.0، Firefox از نسخه ی 4.0 و Safari از نسخه ی 5.0 از این قابلیت پشتیبانی می کنن. این قابلیت متاسفانه هنوز در IE 9.0 پشتیبانی نمیشه.

چند وقت دیگه سمیناری توسط شرکت پیشرو ارتباط پارمیدا با همکاری سایت برنامه نویس در 4 حوزه برگزار میشه که بنده در مورد HTML 5.0 صحبت می کنم و در مورد این قابلیت ها بیشتر توضیح میدم.

موفق باشید.