سلام.
پروژه ی 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 در دسترس هست.
سورس سرور و کلاینت:
https://github.com/SignalGo/SignalGo-full-net
سورس کلاینت جاوا:
https://github.com/SignalGo/client-java
نصب از طریق nuget:
نسخه ی سرور
نسخه ی کلاینت
نسخه ی جاوا اسکریپت
سمپل و مثال کار با سیگنالگو
پروژه ی تست توابع سرور