我正在为移动应用程序设置 Laravel API 以调用 API,并且我目前正在配置 Laravel 广播,这是我的新手。我已经为服务器端安装了 laravel-echo-server 和 redis,而为客户端安装了 laravel-echo 和 socket.io-client。
如您所见,在下面的屏幕截图中,客户端订阅了频道。
这是我的代码
订单控制器.php
broadcast(new Ordered(Order::find($order->id)));
订单事件.php
public function broadcastOn()
{
return new Channel('order');
}
频道.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);
})