Majid Goudarzi
6 ماه پیش توسط Majid Goudarzi مطرح شد
3 پاسخ

عدم دریافت log از client در broadcast handling

سلام خدمت اساتید گرامی:
من به کمک reverb یک broadcast channel ساختم و صرفا میخوام کارکردشو یاد بگیرم.
اما log سمت client دریافت نمیکنم.
کدهامو در اختیارتون قرار میدم تا لطف کنید و راهنمایی کنید.ممنون
controller

    public function orderBook($first , $second): void
    {
        $data = array(
            'ticker'=>$first.$second,
            'price'=>0,
            'last_update'=>Carbon::now()
        );
        event(new nowOrders(json_encode($data)));
    }

event

class nowOrders implements ShouldBroadcast
{
    use Dispatchable, InteractsWithSockets, SerializesModels;

    /**
     * Create a new event instance.
     */
    public function __construct(
        public string $data
    )
    {
        Log::debug($this->data);
    }

    /**
     * Get the channels the event should broadcast on.
     *
     * @return array<int, \Illuminate\Broadcasting\Channel>
     */
    public function broadcastOn(): array
    {
        return [
            new Channel('order-channel'),
        ];
    }
}

laravel.log

[2024-04-25 09:25:38] local.DEBUG: {"ticker":"BTCUSDT","price":0,"last_update":"2024-04-25T09:25:38.562880Z"}  
[2024-04-25 09:25:39] local.DEBUG: {"ticker":"ETHUSDT","price":0,"last_update":"2024-04-25T09:25:39.901524Z"}  
[2024-04-25 09:25:40] local.DEBUG: {"ticker":"BNBUSDT","price":0,"last_update":"2024-04-25T09:25:40.329576Z"}  
[2024-04-25 09:25:40] local.DEBUG: {"ticker":"XRPUSDT","price":0,"last_update":"2024-04-25T09:25:40.831400Z"}  
[2024-04-25 09:25:41] local.DEBUG: {"ticker":"ADAUSDT","price":0,"last_update":"2024-04-25T09:25:41.272255Z"}  
[2024-04-25 09:25:41] local.DEBUG: {"ticker":"SOLUSDT","price":0,"last_update":"2024-04-25T09:25:41.603967Z"}  
[2024-04-25 09:25:41] local.DEBUG: {"ticker":"MATICUSDT","price":0,"last_update":"2024-04-25T09:25:41.906951Z"}  
[2024-04-25 09:25:42] local.DEBUG: {"ticker":"LTCUSDT","price":0,"last_update":"2024-04-25T09:25:42.208561Z"}  
[2024-04-25 09:25:42] local.DEBUG: {"ticker":"TRXUSDT","price":0,"last_update":"2024-04-25T09:25:42.494205Z"}  
[2024-04-25 09:25:42] local.DEBUG: {"ticker":"AVAXUSDT","price":0,"last_update":"2024-04-25T09:25:42.792838Z"}  

orderbook.vue

function orderBook(coin) {
  onMounted(async () => {
    try {
      await axios.post(`/api/users/orderBook/${coin.tickers.first.toUpperCase()}/${coin.tickers.second.toUpperCase()}`)
    } catch (error) {
      console.error('Error fetching data:', error)
    }
    window.Echo.channel('order-channel')
      .listen('nowOrders', e => {
        console.log(e)
      })
  })
}
marketCap.forEach(coin => {
  orderBook(coin)
})

نتیجه در ws log مرورگر:

{"event":"pusher_internal:subscription_succeeded","data":"{}","channel":"order-channel"}    

با تشکر از شما عزیزانی که وقت میذارید و راه حل ارائه میدید.


ثبت پرسش جدید
Majid Goudarzi
تخصص : برنامه نویس
@masterspyware 6 ماه پیش مطرح شد
0

راه حل رو خودم پیدا کردم:

در فایل .env

QUEUE_CONNECTION=database

باید به :

QUEUE_CONNECTION=sync

تغییر کنه.به همین سادگی🤣🤣🤣🤣🤣


Majid Goudarzi
تخصص : برنامه نویس
@masterspyware 6 ماه پیش آپدیت شد
Majid Goudarzi
تخصص : برنامه نویس
@masterspyware 6 ماه پیش آپدیت شد
0

اضافه:
من اینم نصب کردم

pnpm i laravel-echo

و کدم رو به

  Echo.channel('order-channel')
    .listen('nowOrders', e => {
      console.log(e)
    })

تغییر دادم.اما تفاوتی نکرد


Majid Goudarzi
تخصص : برنامه نویس
@masterspyware 6 ماه پیش مطرح شد
0

راه حل رو خودم پیدا کردم:

در فایل .env

QUEUE_CONNECTION=database

باید به :

QUEUE_CONNECTION=sync

تغییر کنه.به همین سادگی🤣🤣🤣🤣🤣


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

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