APIを呼び出すモバイルアプリ用にLaravel APIをセットアップしています。現在、Laravel Broadcastを初めて構成しています。サーバー側にlaravel-echo-serverとredisをインストールし、クライアント側にlaravel-echoとsocket.io-clientをインストールしました。
ご覧のとおり、以下のスクリーンショットでは、クライアントがチャネルにサブスクライブしています。
これが私のコードです
OrderController.php
broadcast(new Ordered(Order::find($order->id)));
OrderEvent.php
public function broadcastOn()
{
return new Channel('order');
}
channels.php
Broadcast::channel('order.{orderId}', function (User $user, int $orderId) {
return true;
});
node index.js
index.js で次のコードを使用してターミナルで実行しようとしましたが、console.log から応答がありません。
index.js
const express = require('express');
const Echo = require('laravel-echo');
const io = require('socket.io-client');
const echo = new Echo({
broadcaster: 'socket.io',
host: 'http://192.168.1.14:6001',
client: io,
});
echo.channel('public').listen('order', (e) => {
console.log("DATA RECEIVED");
console.log(e);
})