PDA

View Full Version : چند سوال در مورد سیستم چت تحت وب!!!



rezaiy.ali
چهارشنبه 12 تیر 1392, 15:45 عصر
با سلام خدمت دوستان گرامی
من می خوام یه سیستم چت تحت وب بسازم.
در این ضیمنه چند تا سوال داشتم که که فک کردم در این بخش می تونم به پاسخ اون ها دست پیدا کنم.
1- وقتی کاربر برای دوستش که او هم انلاین شده پیام ارسال میکنه این پیام در کجا و به چه صورت ذخیره میشه و بعد برای کاربر دوم ارسال میشه؟
2- وقتی پیام ارسال میشه کاربر گیرنده چطور متوجه میشه که برای او پیام ارسال شده است؟
3- ایا میشه که سرور برای کلاینت پیام رو ارسال کنه؟

با تشکر از دوستان

aliprogrammer333
چهارشنبه 12 تیر 1392, 16:14 عصر
برادر یه سری به لینک زیر بزن
یکی از جدید ترین تکنولوژی های مایکروسافته. یا بهتره بگم تکنیک! وب سوکت رو روی وب داری بدون هیچ دردسری!
http://asp.net/signalr

httplistener
چهارشنبه 12 تیر 1392, 16:27 عصر
سلام.



1- وقتی کاربر برای دوستش که او هم انلاین شده پیام ارسال میکنه این پیام در کجا و به چه صورت ذخیره میشه و بعد برای کاربر دوم ارسال میشه؟

این پیام ارسال نمیشه بلکه ذخیره (اصولا در دیتابیس) و در دوره های زمانی معین خوانده و نمایش داده میشه




2- وقتی پیام ارسال میشه کاربر گیرنده چطور متوجه میشه که برای او پیام ارسال شده است؟

همونطور که گفته شد در برنامه های تحت وب برخلاف روال برخی شبکه های کوچک چیزی ما بین کلاینت ها ارسال نمیشه،بلکه پیام ها (یا بطور کلی در خواست ها) ار کلاینت ها (کامپیوتر کاربر=کامپیوتر سرویس گیرنده) به سرور ارسال میشه و درصورت نیاز (مثل همین مورد) ذخیره میشه.



3- ایا میشه که سرور برای کلاینت پیام رو ارسال کنه؟


بله،سرور در ازای هر درخواست جوابی برای اون ارسال می کنه،که معمولا این کار در برنامه های تحت وب توسط
Ajax ( تکنیکی پیاده شده با استفاده از JavaScript(یک زبان کلاینت ساید یا سمت کاربر) ) انجام میشه.
به این صورت که تایمری با استفاده از جاوا اسکریپت میسازند با اینتروال مثلا یک دقیقه (مدت زمان وقفه بین تکرار اجرای یک تابع)
که تابع مذکور با روش Ajax در خواستی رو به صورت نامحسوس به سرور ارسال میکنه و و در جوابی که توسط یک زبان سمت سرور (مثل همین ASP شما) آماده میشه رکورد های ذخیره شده
(شامل آخرین مکالمات چت) رو دریافت میکنه - synchronization