توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مشکل close شدن web socket
amirdp
August 9th, 2016, 12:47
سلام
ما در پروژه ای که داریم نیاز داریم که در هر لحظه از یک سرور دیگر (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
فرضیه دیگه من این هست که سرور برای امنیت اجاره نمیده دوکابر به طور همزمان درخواست ارسال کنند ...در حالتی یک کار بر متصله مشکلی نداریم امام زمانی بیش از یک کاربر لاگین میکنند و درخواست ارسال میکنند وب سوکت کلوز میشه ...
toltek
August 10th, 2016, 00:23
با سلام
بنده برنامه نویس دات نت هستم. برای این کار در دات نت معمولاً از threading ها و Delay همزمان استفاده می کنیم. یعنی میگیم ورودی رو بگیر با 2 ثانیه تاخیر اجرا کن.
در ضمن میتونید به هاست بگید تعداد کانکشن ها رو افزایش بده.
همیشه خندان باشید
مرتضی پورمحمد
==========================================
شرکت طراحی وب سایت وانیا (http://www.vaniait.com/)
++ ارائه راهکارهای تخصصی تحت وب
++ برنامه نویسی اختصاصی ( MVC.Net - Entity Framework )
++ بهینه سازی وب سایت ( تضمین بازگشت وجه در صورت عدم انجام تعهدات )
++ مشاوره، پیاده سازی و ممیزی سیستم مدیریت امنیت اطلاعات ( ISMS - Iso27001 )
ثبت سفارش و پرتال کاربران (http://my.vaniait.com) | تماس با ما (http://www.vaniait.com/Home/ContactToVania) | نمونه کار (http://www.vaniait.com/Portfolios)
02166359898 - 09122830795 - تلگرام 09195704521
WHTkhalezanak
August 10th, 2016, 01:26
1-شما یک کلاس برای پروسس دیتای گرفته شده تعریف کنید
2-هربار که درخواستی برای شما ارسال میشه باید بره به رشته جدید کلاس 1.
3-تاخیر یعنی چی؟مگر کامپیوتر با انگشت حساب میکنه؟!:71:
- - - Updated - - -
------------------
راه بعد
از socket استفاده کن
یک کلاس درست کن که مثلا شامل سوکت و ای پی و مشخصه های دیگر باشه
و یک لیست برای کلاس بالا
هر سوکتی که کانکت شد بره تو لیست
اگر سوکت جدید بود به لیست اضافه میشه
اگر سوکت تکراری بود پیامش رو پروسس کن....
amirdp
August 10th, 2016, 13:55
الان که داریم از سوکت استفاده کنیم !
- - - Updated - - -
با سلام
بنده برنامه نویس دات نت هستم. برای این کار در دات نت معمولاً از threading ها و Delay همزمان استفاده می کنیم. یعنی میگیم ورودی رو بگیر با 2 ثانیه تاخیر اجرا کن.
در ضمن میتونید به هاست بگید تعداد کانکشن ها رو افزایش بده.
همیشه خندان باشید
مرتضی پورمحمد
==========================================
شرکت طراحی وب سایت وانیا (http://www.vaniait.com/)
++ ارائه راهکارهای تخصصی تحت وب
++ برنامه نویسی اختصاصی ( MVC.Net - Entity Framework )
++ بهینه سازی وب سایت ( تضمین بازگشت وجه در صورت عدم انجام تعهدات )
++ مشاوره، پیاده سازی و ممیزی سیستم مدیریت امنیت اطلاعات ( ISMS - Iso27001 )
ثبت سفارش و پرتال کاربران (http://my.vaniait.com) | تماس با ما (http://www.vaniait.com/Home/ContactToVania) | نمونه کار (http://www.vaniait.com/Portfolios)
02166359898 - 09122830795 - تلگرام 09195704521
به نظر شما میتونه مربوط به سرور باشه ؟ چون روی لوکال 100 هزار نفر هم مشکل نداره ...
- - - Updated - - -
1-شما یک کلاس برای پروسس دیتای گرفته شده تعریف کنید
2-هربار که درخواستی برای شما ارسال میشه باید بره به رشته جدید کلاس 1.
3-تاخیر یعنی چی؟مگر کامپیوتر با انگشت حساب میکنه؟!:71:
- - - Updated - - -
------------------
راه بعد
از socket استفاده کن
یک کلاس درست کن که مثلا شامل سوکت و ای پی و مشخصه های دیگر باشه
و یک لیست برای کلاس بالا
هر سوکتی که کانکت شد بره تو لیست
اگر سوکت جدید بود به لیست اضافه میشه
اگر سوکت تکراری بود پیامش رو پروسس کن....
الان که داریم از سوکت استفاده کنیم !
T.Toosi
August 10th, 2016, 14:09
سلام، listening سرور که استاپ نمیشه ؟ مشکل شما بحث realtime هست و چون من brain socket کار نکردم دقیق نمیتونم راهنمایی کنم، اما در لینک زیر یک نفر مشکل شما را داشته که پیشنهاد دادن در سمت کاربر از کلاس : https://github.com/Textalk/websocket-php استفاده کنند.