دانلود سورس کد سرویس وب دوطرفه (Duplex Web Service) - پیادهسازی چت ریلتایم با HTTP سی شارپ C# ASP.NET
دانلود سورس کد سرویس وب دوطرفه (Duplex Web Service) - پیادهسازی چت ریلتایم با HTTP C# ASP.NET
معرفی پروژه
این پروژه یک سرویس وب دوطرفه (Duplex Web Service) را پیادهسازی میکند که امکان ارتباط بلادرنگ (Real-time) بین کلاینتها را از طریق پروتکل HTTP فراهم مینماید. این راهحل برای برنامههایی مانند چت روم، سیستمهای اطلاعرسانی و برنامههای نیازمند به روزرسانی بلادرنگ ایدهآل است.
ویژگیهای اصلی
-
ارتباط دوطرفه از طریق HTTP: بدون نیاز به باز کردن پورتهای اضافی فایروال
-
پیادهسازی چت ریلتایم: پشتیبانی از ورود و خروج کاربران و ارسال پیام
-
مدیریت پیشرفته Threadها: استفاده بهینه از منابع سرور
-
سیستم کشینگ رویدادها: اطمینان از تحویل تمام پیامها به کلاینتها
-
فراخوانی ناهمزمان: عدم قفل شدن رابط کاربری
تکنولوژیهای مورد استفاده
-
ASP.NET Web Services (ASMX)
-
C# .NET
-
Multi-threading با Monitor و AutoResetEvent
-
XML Serialization
-
Windows Forms (برای کلاینت نمونه)
معماری سیستم
مکانیزم پایه
سیستم از یک الگوی "شنود و پاسخ" استفاده میکند:
-
کلاینت متد
Listenرا به صورت ناهمزمان فراخوانی میکند -
سرور thread درخواست را مسدود میکند تا زمانی که رویدادی رخ دهد
-
رویداد جدید (پیام، ورود، خروج) تمام threadهای مسدود شده را آزاد میکند
-
کلاینت رویداد را پردازش و مجدداً شنود را آغاز میکند
کلاسهای اصلی
-
EventObject: کلاس پایه برای تمام رویدادها -
LoginEvent: رویداد ورود کاربر -
LoggedOutEvent: رویداد خروج کاربر -
MessageEvent: رویداد ارسال پیام -
EventUtils: مدیریت رویدادها و synchronization
نحوه اجرا
پیشنیازها
-
Visual Studio 2019 یا بالاتر
-
.NET Framework 4.8
-
IIS (برای استقرار)
راهاندازی
-
پروژه را از طریق فایل
TwoWayWebService.slnباز کنید -
پروژه
TwoWayWebServiceرا به عنوان پروژه Startup تنظیم کنید -
پروژه را اجرا کنید (سرور به صورت خودکار راهاندازی میشود)
-
چندین instance از کلاینت را اجرا کنید و تست نمایید
کاربردهای احتمالی
-
سیستمهای چت و پیامرسان
-
داشبوردهای بلادرنگ (Real-time Dashboards)
-
سیستمهای اطلاعرسانی
-
برنامههای نظارتی
-
بازیهای چندنفره ساده
مزایا
-
عبور از فایروال: استفاده از پورت 80 استاندارد
-
عدم نیاز به Socket Programming: مدیریت خودکار connectionها
-
سادگی توسعه: با استفاده از تکنولوژیهای استاندارد .NET
-
قابل توسعه: امکان افزودن انواع جدید رویداد
محدودیتها
-
مصرف threadهای سرور به ازای هر کاربر متصل
-
نیاز به تنظیم دقیق timeoutها
-
مناسب برای برنامههای با تعداد کاربران محدود
فایلهای پروژه
-
TwoWayWebService.asmx- سرویس وب اصلی -
Global.asax- تنظیمات application-level -
EventObjects.cs- کلاسهای رویداد -
EventUtils.cs- مدیریت رویدادها -
ChatClient- برنامه کلاینت نمونه
برای شما کاربران عزیز پیشنهاد دانلود داده می شود.
ارسال نظر :
ویدیوی معرفی محصول
فایل های که ممکن است نیاز داشته باشید




نظرات کاربران :