راکت

نشان دادن لحظه ای تغییرات در لاراول

3 پاسخ

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

ثبت پرسش جدید

پاسخ‌ها

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

تخصص: Full-Stack Web Developer Freelancer

از روش های معمولی چنین کاری شدنی نیست تا جایی که میدونم و تا شما درخواست اطلاعات جدید ارسال نکنید نمی تونید متوجه بشید آیا تغییراتی رخ داده یا نه.

یک راه دیگه اش برقراری ارتباط به شکل وب سوکت و دو طرفه هست که در اینصورت باید این کانکشن باز بمونه و اینطوری هر اتفاقی اون طرف بیفته به شما هم خبر داده میشه

یک روش دیگه هم شاید استفاده از web hook ها باشه.

در هر صورت تمامی این راه ها نیازمند اعمال از سمت ارائه دهنده API هست و شما خودتون به تنهایی اگر خواسته باشید کاری انجام بدید تنها راهش ارسال درخواست جدید هست. یا دستی یا اتومات که میشه همون کرالر.

مهدی عقیقی
مهدی عقیقی
@MehdiAghighi

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

این که اون سایت بهتون اطلاع بده که بستگی به اونا داره !
اگر اون api ی که گرفتید یک webhook طور داشته باشه می‌تونید یک ادرس api شما بهش بدید که هر وقت تغییری رخ داد به سایت شما درخواست بزنه.

در غیر این صورت باید خودتون ساختارش رو درست کنید که مثلا هر یک دقیقه به اون api درخواست بزنید، اطلاعات جدید رو که گرفتید، Broadcast کنید به کاربر‌هایی که لاگین هستند.
برای Broadcast کردن مستندات خود لاراول رو بخونید از websocket برای برقرای ارتباط با کلاینت‌ها استفاده می‌کنه.

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

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

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

در قالب معمولی وب
این کار با استفاده از Event ها و Broadcasting انجام میشه..
هر وقت اتفاقی بیفته (رویدادی اتفاق بیفته)، از طریق Broadcasting میشه اون رو در سمت جاوااسکریپت هم دریافت کرد

اما در مورد یک API
بجای کاربر در یک API مفهوم Consumer یا استفاده کننده رو داریم
و اساس کار به این شکله که:

  • Consumer یک ریکوئست به سمت API میفرسته
  • API یک ریسپانس رو برای Consumer برمی‌گردونه

پس وقتی اپلیکیشن شما خودش Consumer یک API دیگه هست...
در بهترین حالت اون API هوک رو ارائه میده و اطلاعات آپدیت شده رو برای شما میفرسته.
در غیر این صورت: شما باید بر اساس مهم بودن اطلاعات، یک بازه زمانی رو انتخاب کنی ( مثلا هر ۱۰ ثانیه) یه درخواست بفرستی و نتایج رو به روز کنی.

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

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