SignalGo ارتباط امن، سریع، و راحت با خوانایی کد بالاتر بین کلاینت و سرور...
سلام.
پروژه ی SignalGo چیست؟
سیگنال Go پروژه ای هست که ارتباطات بلادرنگ (Real-Time) رو برای برنامه نویسان سرور و کلاینت فراهم میکنه.
به این صورت که سرور بر حسب یک ادرس و پورت خاص اجرا میشه و کلاینت ها با استفاده از همون آدرس به اون سرور متصل میشن و داده ارسال میکنند و داده دریافت میکنند.این ارتباط کاملاً Duplex یعنی دو طرفه می باشد.
پروژه هایی نظیر SignalR و WCF هم در مجموعه ی این نوع پروژه ها قرار میگیرن.
چرا ما شروع کردیم به نوشتن SignalGo ؟
اولین مشکل ما ارتباط سخت بین کلاینت و سرور در جاوا و سی شارپ بود.برنامه نویسان شرکت ما که جاوا کار بودند بسیار براشون سخت بود که به سرور دات نت با سیگنال R وصل شن و منیج کردن کد ها و مشکلات تبدیل کد و هندل کردن به وجود میومد که مارو بر این کرد تا این سیستم رو از پایه طراحی کنیم.
پروژه ی سیگنال Go یک پروژه ی Open Source و متن باز هست که طراحی و معماری اون به شکلی انجام شده که سرعت انجام کار و تبادل اطلاعات رو چندین برابر بیشتر میکنه و اطمینان بیشتری به برنامه نویس میده.
برتری های SignalGo نسبت به SignalR در چیست؟
1.دسترسی دقیقتر به کلاینت ها مثل WCF
2.تضمین کردن رسیدن اطلاعات به دست کلاینت (همچنین برعکس)
3.دریافت خروجی از کلاینت زمانی که توابع کلاینت صدا زده میشود.
4.سرعت بیشتر
5.کد تمیز تر با خوانایی بیشتر
6.قابلیت آپلود و دانلود Stream
7.قابلیت ارتباط UDP برای انتقال صوت و تصویر
برتری های SignalGo نسبت به WCF در چیست؟
1.کراس پلتفرم بودن در حالی که WCF مخصوص ویندوز طراحی شده.
2.منیج راحت تر، تنظیمات کمتر و سرعت بیشتر.
در حال حاضر سرور و کلاینت دات نت و کلاینت جاوا SignalGo در github در دسترس هست.
سورس سرور و کلاینت:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سورس کلاینت جاوا:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
نصب از طریق nuget:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سورس چت روم فارسی با SignalGo
سلام.
نمونه سورس کلاینت و سرور اتاق چت روم که حدود 1 سال پیش با سیگنالگو نوشتم. قابلیت های این چت روم:
1.چت و پیام رسانی کاربران
2.کاربران ادمین و غیر ادمین و قابلیت محدود کردن دسترسی کاربران
3.گفتگوی صوتی انلاین بین کاربران
4.کامنت کردن ورود و خروج کاربران
5.اجازه گرفتن کاربران جهت گفتگوی صوتی (بدون اجازه گرفتن نمیتونن صحبت کنن)
و تنظیمات اتاق و ...
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
آدرس سروس:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
نحوه ی استفاده:
1.دو تا پروژه ی سرور و کلاینت از هم تفکیک شده:
الف کلاینت:
NoorpodConversation.UI
ب سرور:
NoorpodConversation.WindowsService
2.سرور با کنسول اجرا میشه که از دیتابیس sql express استفاده میکنه خودش دیتابیس رو کنار نرم افزار میسازه و همه ی کاراش رو میکنه فقط شما باید sql express نصب کرده باشید روی سیستمی که سرور رو اجرا میکنید برای تغییر connectionstring هم به فایل NoorpodContext.cs رجوع کنید و تغییرش بدید.
3.به صورت لوکال میتونید راحت تست کنید و نام کاربری admin و رمز 123 به طور پیشفرض با کاربری ادمین ساخته میشه که میتونید لاگین کنید.
4.برای راه اندازی سرور روی شبکه یا اینترنت حتما نرم افزار سرور رو که فایل NoorpodConversation.WindowsService.exe هست توی فایروال بهش دسترسی بدید. و برای کلاینت هم توی سورس NoorpodServiceHelper.cs آدرس localhost رو (خط 63 و 66 توی سورس) به آی پی سرور خودتون (شبکه داخلی یا اینترنت) تغییر بدید تا کلاینت به اون آدرس متصل بشه.سرور تغییراتی نمیخواد.
5.سورس با ویژوال استادیو 2017 ویرایش شده نسخه های پایین تر کار نمی کنن.