PDA

View Full Version : سوال خیلی مهم در مورد SignalR در سی شارپ



arastoahmadi
سه شنبه 03 دی 1398, 11:40 صبح
سلام به همه اساتید گرامی دوستان من یه پروژه کلاینت سرور با سیگنال آر در سی شارپ نوشتم که حدود 600 تا کلاینت به سرورم کانکت میشن توسط سیگنال آر دوستان من رویداد Close هاب کانکشن کلاینت ها رو طوری تعیین کردم که اگه اینترنتشون قط شد هاب کانکشن بتونه ریکانکت کنه مشکلی که تو این رویداد هستش اینه که اگه اینترنت و یا دسترسی به سرور بیش از 4 بار قط شود ذیگه عمل ریکانکت توسط رویداد close صورت نمیگیره ، و تو جدول من کلاینتی که آنلاین نباشه رو Disconnect نشون میده ، دوستان من میخام برای این مشکل یه تایمر تعریف کنم که هر ساعت یک بار عمل کانکت به سیگنال آر رو انجام بده یعنی فقط کلاینتی که ارتباطش Disconnect هستش دوباره به سرور وصل بشه ، آیا این کار من درسته ؟؟؟ اگه خیر ممنون میشم دلیلشو بهم بگید و اگه راه حل بهتر و بهینه تری در نظر دارید ممنون میشم بنده حقیر رو راهنمایی بفرمایید

hamid_hr
سه شنبه 03 دی 1398, 12:26 عصر
راه حل مشکلی نداره. مثلا خود تلگرام هم اول میاد چند بار تلاش میکنه برای اتصال به سرور اگه بعد از چند بار تلاش موفق به اتصال نشد یه تایمر میزاره و 30 ثانیه بعد دوباره تلاش میکنه
یه الگوریتم هم بنظر میرسه که بد نیست
اول بیا سه بار تلاش کن اگه متصل نشد دو ثانیه بعد تلاش کن اگه متصل نشد اینبار 4 ثانیه وقفه ایجاد کن. دفعه بعد 8 و 16 و 32 و .... تا یه حداکثر مثلا 21600 (یک ساعت)
اینطوری یک کم بهینه تر هست