راکت
حل شده

استفاده از سوکت

9 پاسخ

سلام دوستان خسته نباشید.
من یه ابهامی در مورد سوکت داریم ممنون میشم اگر کسی میدونه راهنمایی کنه
میخوام بدونم با توجه به اینکه realtime بودن یه چیز خیلی جذابه توی حوزه ی وب; اما کمتر وبسایتی رو دیدم که بخش های مختلفش رو با سوکت پیاده سازی کنه.
صرف نظر از کاربر سوکت که شاید خیلی ها بگن خب چه لزومی داره مثلا سایتی مثل راکت بیاد همه ی بخش هاشو با سوکت پیاده سازی کنه که هر اتفاقی افتاد بصورت realtime قابل مشاهده باشه(بیشتر توی شبکه های اجتماعی میبینم کاربرد سوکت رو); میخوام بدونم پیاده سازیش سخته؟ فشار به سرور میاره؟ پایدار نگه داشتنش پیچیده ست؟

ثبت پرسش جدید

پاسخ‌ها

9
محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

بهترین پاسخ

مقاله زیر مقایسه های خوبی بین این دو انجام داده و احتمالا دید خوبی بهتون میده:
https://blog.feathersjs.com/http-vs-websockets-a-performance-comparison-da2533f13a77

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

خوب سوکت هم استفاده های خودش رو داره
و همچنین هزینه های خودش رو
سوکت یه نوع ارتباط هست که باز میمونه
و این باعث میشه روی سرور هم یک بار اضافه اعمال بشه
در کل باید شرایط رو سنجید

فرض کن لیستی از داده های Realtime داریم که باید مانیتور بشن
اگر قرار باشه هر ۲۰ ثانیه درخواست Ajax بزنیم و حجم زیادی داده رو بگیریم
خوب چرا از سوکت استفاده نکنیم؟

یا مثلا برای توسعه داده اپ های چت، چه گزینه ای بهتر از سوکت هست؟

پیاده سازیش خیلی پیچیده نیست
یه وب سوکت سرور نیاز داری
و یه کلاینت که سمت جاوااسکریپت، اندروید یا غیره به سرور وصل بشه
و روی کانال های خاص subscribe کنه (عموما این کانال ها public, private و یا از نوع presence هستند)
بحث امنیت رو هم باید مدنظر داشته باشی

در ضمن میتونی سرویس هایی مثل پوشر رو هم بررسی کنی

آرش تقوی
آرش تقوی
@arash.taghavi69

تخصص: برنامه نویس فول استک

خب ابزاری هست که بشه باهاش باری که سوکت در قبال بازموندش روی سرور میزاره رو محاسبه کرد؟
فرض کنید شرایطی هست که میخوایم در 1 دقیقه 10 تا ریکویست به سرور بزنیم بصورت ajax. اینجا سوکت باز کنیم بارش کمتره یا اجازه بدیم 10 تا ریکوست در دقیقه زده بشه؟ در کل میخوام بصورت نسبی میزان باری که سوکت تولید میکنه رو نسبت به اون عدد فرضی 10 به دست بیارم. یعنی بگم یک کانکشن سوکت معادل چند درخواست ajax بار تولید میکنه؟ قطعا عدد دقیق نمیخوام. صرفا میخوام یه ذهنیتی به دست بیارم از بک گراند سوکت
@ali.bayat

شاید پاسخ شما همین‌جا باشد

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

بستگی به سوکت سرورت داره
و تا نره زیر بار و منابع سرور مانیتور نشه، نمیشه دقیق گفت

محسن مهری
محسن مهری
@mohsen.mehri6101

تخصص: برنامه نویس back-end با زبان php framework laravel

حالا نمیدونم با چه زبانی میخاین پیاده سازی کنید ولی ....
نمیدونم چقدر در مورد نحوه اجرای php خوندید، اما به نظرم بهتره که کلا مباحثی مثل وب سوکت رو با زبانهایی مثل پایتون ( نیمه مفسری) و یا nodeJs ( اجرای خفن مبحثش طولانیست باید بخونید در موردش ) انجام بدین - چون هر دفعه که درخواست میاد سمت php میاد از اول کل instance هاو نمونه object ها رو میسازه
منظور کلا از باری که روی شبکه به خاطر تعداد درخواست ها و کوئری خود دیتابیس بگذریم ( اینا رو فاکتور بگیریم چون مشترکن توی هر زبانی که بخاد پیاده سازی بشه) به نظرم عاقلانه نیست کلا این موارد رو با php پیاده سازی کنیم.

آرش تقوی
آرش تقوی
@arash.taghavi69

تخصص: برنامه نویس فول استک

@mohsen.mehri6101
با php که نه، پایتون و نود جی اس اوکی ام،من بیشتر دنبال اینم بدونم اگر یک فروشگاه رو با فرضا سوکت بزنی(میدونم غیر منطقیه) چه چالش هایی داره از نظر بار

محسن مهری
محسن مهری
@mohsen.mehri6101

تخصص: برنامه نویس back-end با زبان php framework laravel

به نظرم فروشگاه اصلا کاربردی نداره به روش سوکت - شما میخای یک کانکشن دائمی رو باز بزاری برای هندل کردن درخواست های یک فروشگاه فقط ؟
اگر هم میخاین وبسایت خیلی حساس باشه و درواقع حرکت های کاربر رو دنبال کنه و واکنش بهش نشون بده از کتابخونه هایی مثل vueJs ,angular or react استفاده کنید که بتونید یک وب سایت spa راه اندازی کنید.
من باشم اگه بخام چنین وب سایتی راه بندازم - با ابزار قوی ای مثل liveWire توی لاراول استفاده میکنم(که اینم البته خوب نیست چون کلا سمت سرور اجرا میشه و فقط جواب رو برمیگردونه این سمت که یک کد html، اما اون سه تا کتابخونه فقط اطلاعات رو برمیگردونن و اینطرف فقط اطلاعات دیتبایس رو اینطرف هندل میکنی که فشاری به سرور نمیاد و داره از کلاینت برای اجرا استفاده میکنه) .اما سوکت نه

آرش تقوی
آرش تقوی
@arash.taghavi69

تخصص: برنامه نویس فول استک

داداش چی داری میگی؟😂😂 من میگم سوکت، تو میگی spa
ولش کن😂✋

آرش تقوی
آرش تقوی
@arash.taghavi69

تخصص: برنامه نویس فول استک

@mhyeganeh دم شما گرم، همینو میخواستم

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام