PDA

View Full Version : سوال: comet



Reza1607
سه شنبه 27 دی 1390, 00:17 صبح
سلام به دوستان

اگر اشتباه نكنم در تكنولوژي comet‏ ارتباط با سرور برقرار مي مونه تا اگر تغيري رخ داد كلاينت متوجه بشه،
1‏)‏ اين ارتباط تا كي برقرار مي مونه؟
2‏)‏ اگر اين ارتباط دائمي هست فشار به سرور وارد نميكنه

plague
سه شنبه 27 دی 1390, 15:19 عصر
تاوقتی که پیج ران میشه بر قرار میمونه
بله فشار وارد میکنه ولی بستگی به سرور و تعداد پیج هایی داره که همزمان استفاده میکنن فکر نمیکنم با یدونه مشکلی پیش بیاد

eshpilen
سه شنبه 27 دی 1390, 15:47 عصر
باید این رو هم درنظر بگیری که اگر ارتباط به هر دلیلی قطع شد برنامه متوجه بشه و recover کنه.
یحتمل باید مدام try کنه تا دوباره وصل بشه.

idocsidocs
سه شنبه 27 دی 1390, 15:55 عصر
بنظرتون استفاده از comet اصلا کار درستی هست یا نه؟

eshpilen
سه شنبه 27 دی 1390, 16:21 عصر
comet هم یک ابزاره یا درواقع یک ترفند.
طبیعتا استفادهء بجا ازش ممکنه و بستگی به مورد خاص خودش داره که همهء پارامترها رو با توجه به شرایط تعیین و تحلیل و محاسبه کنیم و ببینیم در مجموع امتیاز مثبت میاره یا منفی.

خب امکانات پایه وب تاحالا در این زمینه ها محدود بوده بخاطر به سرعت قدیمی شدن طراحی امکانات پایه بعلت پیشرفت سریع فناوری اطلاعات و اینترنت و نیازها و زمینه های دیگه. چیزهایی مثل AJAX و comet هم ترفندهایی برای بوجود آوردن امکانات خاص پایه ای هستن که در پروتکلها و استانداردهای پایه و اولیه وجود ندارن.
استانداردهای جدید امکانات خوبی رو در زمینه های مختلف اضافه کردن، ولی خب این استانداردها هنوز بقدر کافی جا نیافتاده و پیاده سازی نشدن بنظرم.

طبیعتا اینا بخصوص بخاطر اینکه جزیی از استاندارد و امکانات طراحی شدهء اصلی نبودن و وجود اونا در خیلی موارد پیشبینی یا بحساب آورده نشده، یکسری هزینه و مشکلات و سایدافکت های خاص خودشون رو دارن. اما مثلا درمورد AJAX میبینیم که در خیلی موارد این هزینه ها و مشکلات خیلی کمتر از مزایای اون محسوب میشه.

خلاصه یه جاهایی استفاده ازشون درسته و یه جاهایی هم نه. البته کاربردهای comet بنظرم خیلی کمتر از AJAX هست که آمار اینو نشون میده.

Reza1607
سه شنبه 27 دی 1390, 23:05 عصر
ممنون از دوستاني كه جواب دادن
حالا من دو راه حل براي كم كردن فشار(البته هرچند ناچيزه ولي بهتر از هيچيه) پيشنهاد ميدم به نظرتون مفيده يا نه

چون ما نمي دونيم كه چه زماني ارتباط قطع شده هر لحظه مثلا هر 30 ثانيه از سمت سرور به كلاينت يه درخواست ميفرستيم اگر كلاينت جواب داد يعني هنوز هم ارتباط برقرار واسكريپت منتظر درخواست از طرف كلاينت مي مونه اما اگه جوابي نرسيد اسكريپت رو خاتمه ميديم
دومين راه هم اينه كه اگر مثلا تا 30 دقيقه درخواست جديدي از كلاينت نرسيد اسكريپت رو خاتمه بديم

MSN_Issue
چهارشنبه 28 دی 1390, 08:39 صبح
دوستان یه نکته رو فراموش نکنید !
چون توی ترفند کامیت وقتی میخواد سمت سرور منتظر بمونه، پراسس رو به حالت Sleep می فرسته، توی این زمان کمترین بار رو به CPU تحمیل میکنه و به همین دلیل فکر نمیکنم فشار زیادی روی سرور بیاد...

موفق باشید