سوال درباره ی ساختن سیستم چت

mehradmoein

Member
با سلام,
من در حال ساختن یک سیستم چت هستم.
من با استفاده از AJAX و تابع InterVal در javascript یک تابع رو هر دو ثانیه اجرا می کنم.این کار اصلا مانند refresh نیست و در عملکرد صفحه هیچ اختلالی رو ایجاد نمی کنه و اگه کسی متنی رو ارسال کنه همون لحظه بقیه هم می تونن اون متن رو ببینن.
هر بار که این تابع اجرا می شه, به سرور یک درخواست فرستاده می شه مبنی بر اینکه متن های ارسالی از طرف کاربران که در یک دیتابیس ذخیره می شن رو به روز در بیاره و در صفحه نشون بده.

سوال من اینجاست که اگر قرار باشد به ازای هر کاربر و هر 2 ثانیه یک بار به دیتابیس وصل بشیم و دوباره ارتباط رو قطع کنیم , در واقع تعداد خیلی خیلی زیادی می شه.

آیا این می تونه در عملکرد صفحه تاثیر منفی بزاره؟یعنی اینکه باعث بشه که سرور خیلی شلوغ بشه؟
اگه این طور هست,چه راهکار هایی به ذهنتون می رسه؟ من که هرچی فکر کردم چیز دیگه ای به نظرم نرسید.
راستی من از access استفاده می کنم و کدهام رو با asp نوشتم.
 

amir_m

Member
صد در صد در عملکرد سیستم تاثیر می ذاره.
حد اقلش اینه که شما bjectهای اتصال به DB رو ايجاد می کنید.

راه حل بسیار ساده است.
در هر بار ارسال پست می تونید یک متغیر Application رو True کنيد. موقع اجرای Schedulerتون فقط اون متغير رو چک کنيد و اگر true بود به Db وصل بشيد.
 

mehradmoein

Member
خوب اگه همین جور متن ارسالی تغییر کنه چی ؟
یعنی دو نفر که دارن با هم چت می کنن بالاخره هر 30 ثانیه یک بار یه چیزی واسه هم می فرستن.
اون رو چی کار کنم؟
 

amir_m

Member
خوب اون که مشکلی پیش نمیاره.
فرض کنید ما دوتا کاربر داریم. A و B.
اسم متغیرمون رو هم HasText می ذاریم.
خوب شما دو ثانيه یک بار چک می کنید که آیا HasText مقدارش true هست يا نه. اگر true بود، تمام متنهای وارد شده جديد رو نمایش می دید و HasText رو False می کنید.
حالا برای کاربر هایی که دارن به هم PM می دن می تونید از یک فایل XML برای نگه داری متغیر های مربوط به هر کدوم استفاده کنيد.
 

mehradmoein

Member
سوال من در مورد این هست که آیا این همه درخواست به سرور مشکلی پیش نمیاره؟
 

جدیدترین ارسال ها

بالا