[英]Vue/Laravel Websockets Leave
我试图检测客户端何时与 websocket 断开连接并用它触发一些功能,但到目前为止我没有成功。 我正在使用 BeyondCode websockets,我调用类的方式如下:
Broadcast::channel('order.{id}', OrderChannel::class);
所以这个 OrderChannel 类有功能
public function join(User $user, Orders $id)
{
return ['id' => $user->id, 'name' => $user->name, 'image' => $user->profile_photo];
}
它按预期工作,但我想在用户与该套接字断开连接时更新数据库中的某些内容,我尝试了以下操作:
public function leave(User $user, Orders $id)
{
$order = Orders::where('id', $id)->withTrashed()->update(['user_id' => null]);
return $order;
}
但它不起作用,有什么建议如何触发吗?
我认为 Presence 频道应该可以解决您的问题。 您可以在以下位置找到相关文档: https : //laravel.com/docs/8.x/broadcasting#presence-channels 。
然后,您可以订阅leaving
事件,并通过发送例如 HTTP 请求并执行当前leave
函数中的代码来触发您的后端。
如果没有看到有关您如何订阅事件的更详细示例,很难说。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.