ورود

View Full Version : مبتدی: برنامه چت ساده



OMID_BNT
پنج شنبه 02 آبان 1392, 23:33 عصر
سلام
دوستان اول از همه بگم زیاد گشتم و نمونه برنامه هایی هم دیدم اما هنوزم یه مشکل دارم


من میخوام یه برنامه چت بنویسم میشه لطفا راهنمایی و تجربه تون رو بگیید (اگر تعداد کاربران واقعا زیاد بشه بهترین راه برای این که کمترین فشار به سرور بیاد ) و این که یه برنامه نمونه بسیار ساده بدون هیچی (تم و امکانات ) فقط دو تا تکس باکس داشته باشه به همراه دکمه برام درست کنید و اگه وقت دارید یه توضیح هم بدید در موردش


به نظر تون کار با SignalR چه طوره اگه ممکنه یه نمونه بسیار ساده قرار بدید با یکم توضیح


vs 2012

hakim22
شنبه 04 آبان 1392, 08:44 صبح
کار با SignalR ساده است. و از همه مهمتر سازگاری آن است. ابزار SignalR از 4 روش برای برقرار نگاه داشتن استفاده میکند از Long Pulling تا Server Sent events یا forverFrame و در نهایت WebSockets و هر کدام درد دسترس بود با اولویت WebSocket ها اجرا میکند.

دو مسئله وجود دارد.
1- پیاده سازی سرور چت مبتنی به SignalR در بدترین حالت ]چند روز وقت بیشتر وقت نمیگیرد. پس برای راه اندازی اولیه سایت عالی است بعدا اگر به مشکل خوردید میتوانید به دنبال راه حل های دیگر باشید.
2- هیچ تضمینی وجود ندارد کدی که شما بنویسید سریعتر و بهتر از SignalR عمل کند. بخصوص اینکه این ابزار از انواع روش های موجود برای برقرار نگاه داشتن ارتباط بین دو کلاینت استفاده میکند.
همیشه WebSocket یا SSE در دسترس نیست و شما وقتی صحبت از چت برای هزاران نفر میکنید همیشه ممکن است یکی از آنها به بعضی از پیش نیازها دسترسی نداشته باشد.

پس SignalR بهترین انتخاب شماست.

در سایت ASP یک مقاله نمونه وجود دارد و همچنین در PluralSight هم یک ویدیوی آموزشی مفصل در زمینه ی SignalR قرار دارد.
http://www.asp.net/signalr/overview/signalr-1x/getting-started/tutorial-getting-started-with-signalr-and-mvc-4

OMID_BNT
یک شنبه 05 آبان 1392, 16:47 عصر
باتشکر از شما این نمونه رو قبلا دیدم و مراحل اون رو قدم به قدم چندین بار رفتم اما به نتیجه نرسیدم و جواب نداد اگه ممکن هست همین رو درست کنید بزارید واسم
http://www.asp.net/signalr/overview/signalr-1x/getting-started/tutorial-getting-started-with-signalr-and-mvc-4
این خط تو Global ارور میگییره



RouteTable.Routes.MapHubs();


متن ارور





Error 2 'System.Web.Routing.SignalRRouteExtensions.MapHubs (System.Web.Routing.RouteCollection)' is obsolete: 'Use IAppBuilder.MapSignalR in an Owin Startup class. See http://go.microsoft.com/fwlink/?LinkId=320578 for more details.' C:\Users\omid_bnt\Documents\Visual Studio 2012\Projects\test akhar\SignalRChat\SignalRChat\Global.asax.cs 18 13 SignalRChat

hakim22
یک شنبه 05 آبان 1392, 18:24 عصر
توی متدی که route ها رو رجیستر میکنه این خط باید اولین خط باشه و قبل از همه ی روت های دیگه اجرا بشه . اگر جواب نداد عکسش رو امتحان کنید.

OMID_BNT
دوشنبه 06 آبان 1392, 14:50 عصر
ممکنه این نمونه رو ببینید (http://bia2delroba.persiangig.com/123/SignalRCha0t.rar/download) :لبخندساده:

کماکان یه جایش خرابه


http://bia2delroba.persiangig.com/123/SignalRCha0t.rar/download

OMID_BNT
پنج شنبه 16 آبان 1392, 04:55 صبح
ایا ممکن است کمک کنید

hakim22
پنج شنبه 16 آبان 1392, 08:02 صبح
به نظرم signalR شما نسخه ی 2 هست و این کد برای نسخه ی 1 نوشته شده و احتمالا بعضی از توابع رو تغییر داده اند. چون در خطا نوشته شده متد مورد نظر شما Obsolete هست. یا به دنبال آموزشهای نسخه ی 2 بگردید با از نسخه ی 1 استفاده کنید. کدهای پروژه هیچ مشکلی ندارند.