想要在 Laravel 中实现 Web 套接字

2023-11-25

我想使用 Web 套接字在 Laravel 中实现 Web 通知。我有 尝试过推杆。这很简单,但它是付费套餐。我还尝试过redis和socket.io,我必须安装horizo​​n。我正在运行 Windows,但根据我所读到的关于 Horizo​​n 的内容,我无法在 Windows 上安装它。

所以我对推送通知很困惑。我已经尝试了至少一周,但尚未找到任何解决方案。我的前端是 Angular 5/android,后端是 Laravel 5.6。

您能给我建议一些实现推送通知的好主意吗?


您已经使用过 Pusher,所以我假设您知道如何使用事件。

我推荐你 laravel-echo-server。它非常容易使用,有内置的 api。

这是一个从头开始的 laravel-echo 项目的新示例。 设置项目后。

如果您还没有安装,您将需要 predis

composer require predis/predis
redis-server /usr/local/etc/redis.conf
  1. run npm install -g laravel-echo-server
  2. run laravel-echo-server init
  3. 取消注释App\Providers\BroadcastServiceProvider::class in config/app.php
  4. add <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/socket.io.js"></script>在你的 app.blade.php 中
  5. 你需要一个socketio-client,你可以运行npm install --save laravel-echo如果您不熟悉 npm 或 vue,您可以简单地包含我的 github 项目中的这个编译文件。编译js
  6. 将其添加到 app.blade.php

    <script>
    window.Echo = new Echo({
    broadcaster: 'socket.io',
    
    host: '{{url('/').':6001'}}',
    });
    Echo.private(`App.User.{{Auth::id()}}`) // private channel
    .listen('NewMessage', (e) => {
        console.log(e)
    
    });
    
    
    </script>
    
  7. 最后运行 laravel-echo-server start 并打开你的项目,你会看到

    [20:53:21] - Lv5OKDAcuSLsK1nBAAAE authenticated for: private- 
       App.User.1
    [20:53:21] - Lv5OKDAcuSLsK1nBAAAE joined channel: private-App.User.1
    
  8. 您可以收听任何您想要的事件或其他通知

  9. 这是我的 github 项目回声示例

添加一些代码,以便您可以使用 postman 向特定用户发送消息。您可以从 chrome 控制台看到该消息。您可以从 github 项目屏幕截图中获取更多详细信息

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

想要在 Laravel 中实现 Web 套接字 的相关文章

  • 如何在 vue.js 中使用 SVG.js 插件?

    我在用svg js在我的 Laravel 项目中运行vue js 这就是我使用的方式svg js Step 1 安装svg js作为我的 vue 应用程序中的插件 import svgJs from svg js dist svg expo
  • 使用 with 的热切加载模型,但给它起了另一个名字 - Laravel 5.2

    是否可以使用 with 方法来使用预加载 但给它另一个名称 就像是 gt with documents as product documents documents as categories 我有一个可以是产品或类别的文档表 急切加载可以
  • 此集合实例 Laravel 关系中不存在属性 [X]

    我在 Laravel 5 6 中使用了很多 Realtions 当我添加 phonebooks 时 我看到所有关系都工作正常 一切都很好 但是当我尝试在视图中显示它们时 我得到了属性在此集合上不存在的错误 这是关系代码 public fun
  • 2 个具有共享 Redis 依赖的 Helm Chart

    目前 我有 2 个 Helm Charts Chart A 和 Chart B Chart A 和 Chart B 对 Redis 实例具有相同的依赖关系 如Chart yaml file dependencies name redis v
  • 无法读取解析推送通知包数据

    我尝试使用 Parse 推送通知服务发送自定义数据 但从 Bundle 中提取时总是返回 null 值 自定义广播接收器 Override public void onReceive Context context Intent inten
  • 为什么每次用户启动应用程序时都要注册推送通知?

    在Apple文档中你可以找到下面这句话 应用程序应在每次启动时进行注册 并向其提供者提供当前令牌 它调用 registerForRemoteNotificationTypes 来启动注册过程 因此 当我在应用程序中实现推送通知时 我必须注册
  • Codeception API 测试响应返回“N/A”

    我正在使用 Laravel 和 Codeception 作为测试框架编写 API 我无法让 Codeception 返回响应代码 我可以从 Codeception 获取响应代码 以及 JSON 响应 我编写了一个简单的测试来从 GET 请求
  • Laravel:运行队列:在 Windows Azure Web App 上连续监听

    我觉得问这个问题有点傻 但我似乎无法在互联网上找到这个问题的答案 经过几个小时的搜索后 我发现在 Linux 服务器上 您使用 Supervisor 在您的网站上连续运行 php artisanqueue listen 无论有或没有守护进程
  • 推送通知需要很长时间才能到达

    我在适用于 iOS 和 Android 的 Adob e Air 应用程序中遇到推送通知的奇怪问题 我正在使用 Milkman Games 的 Easy Push ANE 以及 One Signal 服务 问题是通知确实会到达 但有时 随机
  • Laravel中with()和compact()有什么区别

    功能有什么区别with and compact 在 Laravel 中这两个例子 示例1 return View make books index gt with booksList booksList 示例2 return View ma
  • 多种邮件配置

    我使用 mandrill 驱动程序配置了 laravel 的邮件服务 这里没有问题 现在 在我申请的某个时刻 我需要通过 gmail 发送邮件 我做了类似的事情 backup current mail configs backup Conf
  • 当 flutter 应用程序终止时,普通推送通知会默默出现或根本不出现

    我在 nodejs 上使用 firebase admin 向用户发送推送通知 https firebase google com docs admin setup https firebase google com docs admin s
  • 用嘲笑测试 Laravel 外观总是会通过,即使它应该失败

    我试图在单元测试期间模拟 Laravel 中的一些外观 但似乎无论如何测试总是会通过 例如 此示例取自 Laravel 文档 Event shouldReceive fire gt once gt with foo array name g
  • 如何使 Redis 缓存中数据层次结构(树)的部分内容无效

    我有一些产品数据 需要在 Redis 缓存中存储多个版本 数据由 JSON 序列化对象组成 获取普通 基本 数据的过程很昂贵 将其定制为不同版本的过程也很昂贵 因此我想缓存所有版本以尽可能进行优化 数据结构看起来像这样 BaseProduc
  • 了解应用程序在后台时何时收到 Firebase 消息

    我知道这个标题有同样的问题 但不幸的是它没有得到正确的回答 它被接受了 here https stackoverflow com questions 37711082 how to handle notification when app
  • 将策略应用到资源控制器

    我有一个CRUD资源定义通过Route resource User UserController 既然可以生成CRUDGates and Policies 有没有办法应用这样的Gate Policy 以便将相应的Gate Policy应用于
  • redis dump.rdb / 保存小文件

    Context 我正在使用redis 数据库小于 100 MB 但是 我想进行每日备份 我也在 Ubuntu Server 12 04 上运行 当输入 redis cli save 我不知道 dump rdb 保存到哪里 因为 redis
  • 在 laravel 中禁用特定路由的 csrf

    我有一个支付系统 数据被提交到第三方网站然后被拉回 当数据返回时 它会到达特定的 url 比如 ok 路由 REQUEST transaction 但由于 Laravel 中间件 我遇到了令牌不匹配的情况 第三方支付API无法生成token
  • 使用 Mock 对 Laravel 5 Mail 进行单元测试

    有没有办法在 Laravel 5 中测试 Mail 尝试了我在互联网上看到的唯一合法的模拟示例 但它似乎只适用于 Laravel 4 下面的当前代码 mock Mockery mock Swift Mailer this gt app ma
  • AWS SNS 端点自行禁用

    我已将 Android 和 iOS 应用程序设置为能够通过 SNS 接收通知 设置工作正常 设备确实收到了通知 但后来 通知开始失败 我已经启用了成功和失败场景的日志记录 根据日志 我不断收到以下形式的错误 端点已禁用 arn aws sn

随机推荐

  • AlamoFire 忽略缓存控制标头

    是否可以忽略cache control使用 AlamoFire 执行请求 处理响应时的标头 目前我正在发出如下请求 服务器返回大量cache control标头 而实际上我们需要忽略它们 Alamofire request GET url
  • Powershell - 使用 get-adcomputer 时过滤 OU

    我正在尝试创建一个脚本 该脚本根据计算机可能具有的特定属性生成计算机列表 例如 我试图列出 Windows XP 计算机和 Windows 7 计算机的列表 将它们的名称放入 csv 文件中 并输出每台计算机的最终计数 到目前为止 这是我的
  • 如何在 ASP.NET MVC 中禁用 HTTP Keep-Alive?

    有没有办法告诉 IIS ASP NET 不允许某些请求保持活动状态 或者甚至对于整个网站 如果这真的是唯一的方法吗 对于整个站点 使用 IIS 7
  • 如何用 PHP Heredoc 语法显示数组元素或对象属性的值

    我在定界符输入字段中显示数组值时遇到问题 这是一段代码 class Snippet protected user protected class protected messages public function construct th
  • JTable + 排序特定字段

    我有一个 JTable 并添加了排序 现在 JTable 有 5 列 日期字段中的第二列转换为 DD MM YYYY 并显示在单元格的 JTextField 中 当我将其按字符串排序并且日期混淆时 如何更改该特定列的排序行为 例如 按 AS
  • 脚本在 IDLE 中工作,但 .py 文件不起作用

    我有一个 tkinter 脚本 它在 IDLE 中运行得很好 但是 当我从 Windows 资源管理器中双击 py 文件时 控制台窗口会闪烁半秒 然后退出 我能够丝网打印控制台窗口 它说 etc etc NameError global n
  • 如何解析网页中的动态内容?

    我尝试从此网址获取代理列表 免费代理列表 这很酷 但是端口号是动态 JavaScript 内容 如何从此页面获取 JavaScript 生成的内容 我有 jsoup 和 djNativeSwing 但我想在后台线程中执行此操作 JWebBr
  • 比较 JPA 查询中的当前日期时间

    我想将数据库中的日期与 JPA 查询中的当前日期时间进行比较 捕获限制日期 我的要求如下 数据库 captureLimitDate 04 07 2012 19 03 00 当前日期时间 04 07 2012 20 03 00 我的 JPAQ
  • anaconda 无法导入 matplotlib.pyplot

    当我尝试导入 matplotlib pyplot 时出现此错误 我什至无法通过 conda install 安装 matplotlib pyplot 它显示了这一点 导入 matplotlib pyplot Traceback 最近一次调用
  • 没有默认构造函数的设计

    我想限制使用默认构造函数创建对象 因为我有如下设计 class Program static void Main string args BaseClass bc new BaseClass XmlSerializer xml new Xm
  • 从边界框坐标列表创建形状文件

    关于这个主题的现有问题已经很少了 但不幸的是我没有找到可以解决我的问题的东西 我有一个点经纬度坐标 即纬度 10 且经度 10 我想围绕该点创建一个 0 5 度边界框的形状文件 因此边界框应如下所示 最小长仓 9 75 最小纬度 9 75
  • 如何在 tidyr 和 ggplot2 的函数中使用 dplyr 的 enquo 和 quo_name

    library dplyr Devel version soon to be released 0 6 0 library tidyr library ggplot2 library forcats for gss cat data 我正在
  • 如何使 HTML/CSS 幻灯片背景淡入淡出?

    我想知道如何使背景幻灯片像常规幻灯片一样淡入其他照片中 我已经尝试了很多代码 但尚未成功 现在 我有一个代码可以将背景更改为不同的照片 效果很好 但不会褪色 无论如何要添加这个吗 这是代码
  • 转换整数数组以在 SQL“IN”子句中使用

    当然有一个框架方法 给定一个整数 字符串等数组 将它们转换成一个可以在 SQL 中使用的列表 IN 条款 e g int values 1 2 3 会去 1 2 3 var inClause String Join values Selec
  • Xcode 编译错误:Lipo:无法打开输入文件

    致命错误 Applications Xcode app Contents Developer Toolchains XcodeDefault xctoolchain usr bin lipo 无法打开输入文件 Users zicjin Li
  • sizeof 是否可以在 lambda 内部应用于未捕获的变量,或者这是一个编译器错误?

    这是讨论的后续内容在这里找到 以下代码在 gcc 和 clang 下编译 现场演示 这对于排队的情况来说是令人惊讶的 1因为 lambda 不捕获任何内容 对于以下情况MCR2 其中 lambda 返回指针本身 我们得到预期的编译时错误 行
  • ArrayList> - 如何最好地整理?

    中间有一个简单的问题 我有一个简单的 WeakRunnableList 是这样就可以清理它了 删除死引用 或者是否有更优雅和更快的解决方案 我的 WeakRunnableList 的完整源代码 public class WeakRunnab
  • Python Dataframe 根据一列中的最大值选择行

    我有一个 python 数据框 很多行 2 列 我想根据第 2 列中的最大值修改第 1 列中的唯一值 如果有帮助 第 2 列按升序排序 我可能可以编写一个循环 但更喜欢一两行解决方案 谢谢 Ex ID Value 100 11 100 14
  • 我可以使用反射来查找 ASP.NET 中的 bin/[Configuration] 文件夹而不是 asp 临时文件夹吗

    我有一个 ASP NET 网站 我想找到 bin Configuration 文件夹以使用外部工具 一个 exe 文件 当我使用反射来获取调用程序集位置时 它返回类似于以下内容的内容 C Windows Microsoft NET Fram
  • 想要在 Laravel 中实现 Web 套接字

    我想使用 Web 套接字在 Laravel 中实现 Web 通知 我有 尝试过推杆 这很简单 但它是付费套餐 我还尝试过redis和socket io 我必须安装horizo n 我正在运行 Windows 但根据我所读到的关于 Horiz