آرش تقوی
3 سال پیش توسط آرش تقوی مطرح شد
9 پاسخ

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

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


ثبت پرسش جدید
محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 3 سال پیش مطرح شد
0

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


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 3 سال پیش مطرح شد
1

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

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

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

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

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


آرش تقوی
تخصص : برنامه نویس فول استک
@arash.taghavi69 3 سال پیش آپدیت شد
0

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


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 3 سال پیش مطرح شد
0

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


محسن مهری
تخصص : برنامه نویس back-end با زبان...
@mohsen.mehri6101 3 سال پیش مطرح شد
0

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


آرش تقوی
تخصص : برنامه نویس فول استک
@arash.taghavi69 3 سال پیش مطرح شد
1

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


محسن مهری
تخصص : برنامه نویس back-end با زبان...
@mohsen.mehri6101 3 سال پیش آپدیت شد
-1

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


آرش تقوی
تخصص : برنامه نویس فول استک
@arash.taghavi69 3 سال پیش مطرح شد
0

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


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 3 سال پیش مطرح شد
0

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


آرش تقوی
تخصص : برنامه نویس فول استک
@arash.taghavi69 3 سال پیش مطرح شد
0

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


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

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