محمد رضا
3 سال پیش توسط محمد رضا مطرح شد
33 پاسخ

ارسال notification به کاربر در هر صفحه ای که ممکنه باشه بدون websocket

سلام
اول از همه منظور خودم رو خیلی کامل و واضح خدمت دوستان توضیح بدم که متوجه سوالم ب صورت دقیق بشن
چطوری میتونم بر اساس تغییراتی در یک صفحه ، آبدیت هایی در دیگر صفحات داشته باشم؟
اصل موضوع چیزیه ک گفتم
مثال های مختلفش اینه ک مثلا جدول سفارشاتی دارم که یک نفر مانیتورینگ میکنه و یه نفر دیگه توی صفحه ی دیگه ای سفارشات رو ثبت میکنه طرف بتونه در لحظه سفارش جدید رو ببینه
مثلا مشتری و فروشنده دیگ

یا مثال دیگه مثل واتس اپ یا تلگرام که یک badge روی ایکن خودشون دارن و اگ پیامی بیاد نشون میده
مثلا توی هدر همچین چیزی داشته باشیم و کاربری توی یک صفحه ای پیامی بده سفارشی ثبت کنه یا هر درخواست دیگه بشه اعلام کرد.

در کل خیلی مثال هایی وجود داره که میشه زد و ساده ترین راهش reload کردن صفحه یا اون درخواست ما هست.

خب اینکه بگم هر یک ثانیه یا ده ثانیه یا هرچی داده ی من reload بشه که یه بار الکی میاره روی سرور

من داشتم ویدیو های آموزشی livewire رو نگاه میکردم و دورشو از راکت دیدم
یه بخش خیلی جذاب و پر کاربردی که داره و مشکل من رو حل میکنه web socket هست - لینک آموزش در راکت -
اما مشکلی که این قضیه داره اینه که باید حتما VPS داشته باشی تا بتونی دستور php artisan websockets:serve رو براش اجرا کنی
اما من توی پروژه های کوچیک و ساده واقعا نیاز به vps نمیبینم هنوز و ب نظرم ارزش نداره اون هزینه براش (جدای از اینکه کانفیگ هاشو بلد نیستم اما سایتی مثل لیارا کار رو راحت کرده و نیاز ب دانش خاصی نداری)

آیا پکیجی یا موردی داریم که مثل web socket بتونه به این نیاز پاسخ بده؟
یعنی بشه با تغییر یک داده یه صفحه ای خاص فهموند ک خودشو رفرش کنه داده هاشو یا هر عملی ک مد نظره رو انجام بده؟؟

من با react , vue , nodejs و مشتقاتشون 😅 آشنایی ندارم اگر توی اینا همچین امکانی هست راهنمایی کنید برم دنبالش چون یادگیریشون توی برنامم هست
pwa هم یه بخش push notification داره که اشنا نیستم کلا با pwa اطلاعاتی دارید ؟ ایا ربطی دارن به هم؟

@hesammousavi
@mohaligateway
@muhammad
@Rp76
@mrn
@samanzdev
@juza66
@hosseinshirinegad98
@rezajahangir
@websaz
@ali.bayat


ثبت پرسش جدید
محمدصادق عبداللهی
تخصص : junior full stack developer
@mimsadAlef 3 سال پیش مطرح شد
1

سلام
از پروتکل SSE می تونید استفاده کنید
خیلی راه اندازیش هم داخل php سادس
با یه سرچ داخل گوگل یاد بگیرید
نیاز به vps نداره و روی هاست اشتراکی هم اجرا میشه


محمد رضا
تخصص : Full Stack Developer
@salar.mohammad2013 3 سال پیش مطرح شد
0

در رابطه با websocket توی هاست های اشتراکی لینکی دیدم که متوجهش نشدم اما ب نظر تنها موردی میومد ک میگه شدنیه
websocket در هاست اشتراکی
اگر دوستان توضیحی راجبش بدن ممنون میشم.

و مورد دیگه اینکه nodejs هم websocket داره ک همونطور که گفتم شناختی از nodejs ندارم اگر دوستان راهنمایی کنن که امکاناتش چطوره و این کار شدنی هست ممنون میشم توضیحی به صورت مختصر و کلی بدن


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 3 سال پیش آپدیت شد
0

خب اگر دوره لایووایر رو دیدی پس polling میدونی چیه!

اون badge رو کامپونت کن و توش دیتاها رو بگیر و نمایش بده ، یک امکان هم که داره میتونی رو تب فعال اینکار رو انجام بدی

بحث پرفورمنس نکن که توی هاست اشتراکی واقعا نمیشه اون وب سوکت رو کار کرد.


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 3 سال پیش آپدیت شد
0

البته یک راه هم هست با پوش نوتیفیکیشن که توی سایت پوشر ثبت نام کن و پروژه رو بساز و با استفاده از pusher.js و laravel-echo دیتاهای سمت پوشر رو بگیر و با jquery نمایش بده، اینجور درخواست ها همه میره سمت سایت پوشر و اگر دیتای باشه بصورت جیسون به سایتت میده شما هم با larevel-echo گوش میدی اگر چیزی اومده بود میگیری و append میکنی

سمت خودت هم اگر دیتای ثبت شده با ساخت یک ایونت دیتاهای که نیاز داری مثلا تعداد نوتیفیکیشن های نخوانده شده (بصورت یک عدد) میره سمت پوشر و ذخیره میشه


محمد رضا
تخصص : Full Stack Developer
@salar.mohammad2013 3 سال پیش مطرح شد
0

@juza66 تازه دیدم دورشو داداش
poling زمان مشخص میکنی تا داده رو رفرش کنه
اره تب فعال نباشه هم درخواستی نمیره درست
اما برای یک badge ساده شاید بگیم درخواست سبکی هست اگر کامپوننتش کنم اما یک جدول چطور؟
توی صورت مسئله هم اگر دقت کنید مطرح کردم که ساده ترین حالتش رفرش کردن و درخواست دوره ای به سرور هست که poling هم همینکار رو میکنه
اما من یه ساختار مثل websocket مد نظرمه که فقط وقتی درخواسته بود انجام بشه اون عمل


محمد رضا
تخصص : Full Stack Developer
@salar.mohammad2013 3 سال پیش مطرح شد
0

@juza66
در جایی یکی از دوستان نظر داده بودن که pusher لایسنس داره و باید خریداری بشه


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 3 سال پیش مطرح شد
0

از همون پوشر استفاده کن، یه چیزی توی مایه های وب سوکته


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 3 سال پیش آپدیت شد
0

اره خب اگر بخوای نامحدود استفاده کنی

الان من یکسال از پوشر رایگانش توی یکی از پروژه هام استفاده میکنم و مشکلی نداشتم

البته الان توی سایت پوشر یک پروژه جدید میسازم و اون key و اینجور چیزها رو توی تنظیمات جدید تغییر میدم و یکسال دیگه هم میرونمش :)


محمد رضا
تخصص : Full Stack Developer
@salar.mohammad2013 3 سال پیش مطرح شد
0

@juza66
اره نیاز ب نا محدود دارم نمیشه درگیر تغییر سالیانشو ریسکش تو پروژه شد
و این که قیمتش بالاست الان پلان هاشو دیدم تو سایتش و vps ارزون تر میفته خخخخ


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 3 سال پیش مطرح شد
0

بنظرم همون بحث polling استفاده کن، توی یک پروژه جدیدکه دارم استفاده کردم البته فقط برای اون عدد نوتیفیکیشن، ولی فکر کنم برای جدول اگر ردیف های که میسازی روی بذاری توی یک کامپونت و استفاده کنی مشکلی پیش نمیاره.

هرجور حساب کنی استفاده از nodejs و یا وب سوکت لاراول باید یک vps حداقل داشته باشی .


محمد رضا
تخصص : Full Stack Developer
@salar.mohammad2013 3 سال پیش مطرح شد
0

@juza66
nodejs هم vps میخواد ؟


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 3 سال پیش مطرح شد
0

پ ن پ ؛)))))
اره برای ران شدنش به vps نیاز داری تا جایی که میدونم

یک سر بزن به سایت لیارا ، خیلی خوبه فکر کنم بحث سوکت هم بتونی برای لاراول توش هندل کنی ، البته هنوز استفاده نکردم از وب سوکت ولی الان یک پروژه دارم روی لیارا همه چیش اوکیه از queue ها تا اسکجول ها و حتما وب سوکت روش امتحان میکنم


محمد رضا
تخصص : Full Stack Developer
@salar.mohammad2013 3 سال پیش مطرح شد
0

@juza66
توی صورت مسئله هم نوشتم لیارا رو ولی تجربه ای ندارم
تا حد ممکن میخوام رو هاست اشتراکی که کم هزینه هست بمونم

توی لیارا سروری که میخری میشه مثلا جوری بهش چند دامنه رو متصل کرد و با یک سرور چند سایت رو بالا آورد؟؟ امکانش هست؟

چون امکانی که من میخوام اونقد ارزش نداره واقعا در حال حاضر برام که بگیرم همچین سروری


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 3 سال پیش آپدیت شد
0

اره میتونی از چندین دامنه استفاده کنی و هردامنه رو به یک پروژه وصل کنی

و از کلود فلر برای اتصال استفاده میکنه


محمد رضا
تخصص : Full Stack Developer
@salar.mohammad2013 3 سال پیش مطرح شد
0

@juza66
رفرنسی هست ببینم چطوریه کارش؟


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 3 سال پیش مطرح شد
0

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

بعدش مثلا اگر زده ماهی ۱۰۸ باید ضربدر ۲ کنی!! :))


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 3 سال پیش آپدیت شد
0

لیارا سرچ کن توی سایتش آموزش داره، بنظرم نمیصرفه واس استارت اپ ها ، من باشم از پوشر یا polling استفاده میکنم تا بعدش اگر خدا داد یک vps میگیرم


محمد رضا
تخصص : Full Stack Developer
@salar.mohammad2013 3 سال پیش آپدیت شد
0

@juza66
چتروم کردیم اینجارو
اره دیدم سایتشو منظورم اینکه چطوری چند تا پروژه رو با یک سرور بالا بیارم؟؟

چرا ضربدر دو؟
دیتابیس چرا جدا؟
***؟


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 3 سال پیش آپدیت شد
0

خخخخ عجب چترومی!

اره یک چیز عجیبه!
وقتی پروژه رو ایجاد میکنی یک پلن برای هزینه نگهداری ازت میگیره

توهم خوشحال میری دیتابیس رو ایجاد کنی میبنی برای ایجاد یک دیتابیس یک پلن باید انتخاب کنی!!

اینجا نارحت برمیگردی و به سرچ خودت یا اونی که راهنمایت کرده **** میدی! :)


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 3 سال پیش آپدیت شد
0

چندتا هاست رو به یک سرور وصل کنی!

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

توی معرفی دامین که بی نهایت هستش میتونی اسم دامین معرفی کنی و هرکدوم رو به یک پروژه وصل کنی

هزینه ش بنظرم بالاس ، اینی که میگم تجربه یکسال کار باهاشه هاااااا

همه چی اوکیه بجز اینکه برای هاست یک هزینه و برای دیتابیس همون پروژه یک هزینه دیگه باید بدی اینجاس میشه ضربدر ۲


محمد رضا
تخصص : Full Stack Developer
@salar.mohammad2013 3 سال پیش مطرح شد
1

@juza66
دیگه اسم لیارا پیش من نیاری ک بلاکی 😀😀😀😀😂😂🤣🤣

من باشم از پوشر یا polling استفاده میکنم تا بعدش اگر خدا داد یک vps میگیرم

در حال حاضر با نظرت موافقم تا ببینم دوستان چی میگن


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

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