-
August 9th, 2016, 12:47
#1
مشکل close شدن web socket
سلام
ما در پروژه ای که داریم نیاز داریم که در هر لحظه از یک سرور دیگر (server a)که بهش دسترسی نداریم یک دیتا رو بر اساس url خاصی که داریم بگیریم و برای اینکه هیچ تاخیری در دریافت لحظه ای دیتا نداشته باشیم
از webSocket استفاده کردیم، اما مشکلی که وجود داره این هست که زمانی که چند کاربر همزمان به سایت متصل هستند در یک لحظه چند درخواست به سرور خارجی (server a) ارسال میشه و چون درخواست ها همزمان
هستند فقط به یکی از درخواست ها پاسخ داده میشه، برای رفع این مشکل تصمیم گرفتیم از cache استفاده کنیم ولی این کار ریسک بالایی به همراه داره،
1. آیا راهی وجود داره که بین عملیاتی که webSocket انجام میده یک وقفه چند صدم ثانیه ای ایجاد بشه؟
2. راه حل دیگه ای برای رفع این مشکل وجود داره؟
اطلاعات پروژه و سرور:
Laravel 5.2
پکیج برای وب سوکت: https://github.com/BrainBoxLabs/brain-socket و https://github.com/BrainBoxLabs/brain-socket-js
نسخه آپاچی 2.4
نسخه لینوکس: CentOs 6.8
فرضیه دیگه من این هست که سرور برای امنیت اجاره نمیده دوکابر به طور همزمان درخواست ارسال کنند ...در حالتی یک کار بر متصله مشکلی نداریم امام زمانی بیش از یک کاربر لاگین میکنند و درخواست ارسال میکنند وب سوکت کلوز میشه ...
-
-
August 9th, 2016 12:47
# ADS
-
August 10th, 2016, 00:23
#2
عضو انجمن
پاسخ : مشکل close شدن web socket
با سلام
بنده برنامه نویس دات نت هستم. برای این کار در دات نت معمولاً از threading ها و Delay همزمان استفاده می کنیم. یعنی میگیم ورودی رو بگیر با 2 ثانیه تاخیر اجرا کن.
در ضمن میتونید به هاست بگید تعداد کانکشن ها رو افزایش بده.
همیشه خندان باشید
مرتضی پورمحمد
==========================================
شرکت طراحی وب سایت وانیا
++ ارائه راهکارهای تخصصی تحت وب
++ برنامه نویسی اختصاصی ( MVC.Net - Entity Framework )
++ بهینه سازی وب سایت ( تضمین بازگشت وجه در صورت عدم انجام تعهدات )
++ مشاوره، پیاده سازی و ممیزی سیستم مدیریت امنیت اطلاعات ( ISMS - Iso27001 )
ثبت سفارش و پرتال کاربران | تماس با ما | نمونه کار
02166359898 - 09122830795 - تلگرام 09195704521
ویرایش توسط toltek : August 10th, 2016 در ساعت 10:54
02166359898 - 09122830795
telegram : @VProgrammer
-
-
August 10th, 2016, 01:26
#3
پاسخ : مشکل close شدن web socket
1-شما یک کلاس برای پروسس دیتای گرفته شده تعریف کنید
2-هربار که درخواستی برای شما ارسال میشه باید بره به رشته جدید کلاس 1.
3-تاخیر یعنی چی؟مگر کامپیوتر با انگشت حساب میکنه؟!
- - - Updated - - -
------------------
راه بعد
از socket استفاده کن
یک کلاس درست کن که مثلا شامل سوکت و ای پی و مشخصه های دیگر باشه
و یک لیست برای کلاس بالا
هر سوکتی که کانکت شد بره تو لیست
اگر سوکت جدید بود به لیست اضافه میشه
اگر سوکت تکراری بود پیامش رو پروسس کن....
-
تعداد تشکر ها از WHTkhalezanak به دلیل پست مفید
-
August 10th, 2016, 13:55
#4
پاسخ : مشکل close شدن web socket
الان که داریم از سوکت استفاده کنیم !
- - - Updated - - -

نوشته اصلی توسط
toltek
با سلام
بنده برنامه نویس دات نت هستم. برای این کار در دات نت معمولاً از threading ها و Delay همزمان استفاده می کنیم. یعنی میگیم ورودی رو بگیر با 2 ثانیه تاخیر اجرا کن.
در ضمن میتونید به هاست بگید تعداد کانکشن ها رو افزایش بده.
همیشه خندان باشید
مرتضی پورمحمد
==========================================
شرکت طراحی وب سایت وانیا
++ ارائه راهکارهای تخصصی تحت وب
++ برنامه نویسی اختصاصی ( MVC.Net - Entity Framework )
++ بهینه سازی وب سایت ( تضمین بازگشت وجه در صورت عدم انجام تعهدات )
++ مشاوره، پیاده سازی و ممیزی سیستم مدیریت امنیت اطلاعات ( ISMS - Iso27001 )
ثبت سفارش و پرتال کاربران |
تماس با ما |
نمونه کار
02166359898 - 09122830795 - تلگرام 09195704521
به نظر شما میتونه مربوط به سرور باشه ؟ چون روی لوکال 100 هزار نفر هم مشکل نداره ...
- - - Updated - - -

نوشته اصلی توسط
WHTkhalezanak
1-شما یک کلاس برای پروسس دیتای گرفته شده تعریف کنید
2-هربار که درخواستی برای شما ارسال میشه باید بره به رشته جدید کلاس 1.
3-تاخیر یعنی چی؟مگر کامپیوتر با انگشت حساب میکنه؟!
- - - Updated - - -
------------------
راه بعد
از socket استفاده کن
یک کلاس درست کن که مثلا شامل سوکت و ای پی و مشخصه های دیگر باشه
و یک لیست برای کلاس بالا
هر سوکتی که کانکت شد بره تو لیست
اگر سوکت جدید بود به لیست اضافه میشه
اگر سوکت تکراری بود پیامش رو پروسس کن....
الان که داریم از سوکت استفاده کنیم !
-
-
August 10th, 2016, 14:09
#5
عضو دائم
پاسخ : مشکل close شدن web socket
سلام، listening سرور که استاپ نمیشه ؟ مشکل شما بحث realtime هست و چون من brain socket کار نکردم دقیق نمیتونم راهنمایی کنم، اما در لینک زیر یک نفر مشکل شما را داشته که پیشنهاد دادن در سمت کاربر از کلاس : https://github.com/Textalk/websocket-php استفاده کنند.
https://github.com/BrainBoxLabs/brain-socket/issues/7
ویرایش توسط T.Toosi : August 10th, 2016 در ساعت 14:30
-