Laravel 实现消息通知

分享 wzhsunn ⋅ 于 2015-12-14 14:20:25 ⋅ 最后回复由 wzhsunn 2016-01-02 02:03:14 ⋅ 5199 阅读

基于 laravel 4.2 实现消息发布系统,实现以下功能:

  1. 新建消息
  2. 选择用户,发布消息
  3. 用户可以实时收到消息,消息可以回执
  4. 可以查看历史消息

worktile 的消息中心很不错,功能点可以参考。

本人laravel新手, google 关键词 :laravel user notifications , 看了一些laravel 实现的消息系统, 云里雾里看不懂。

哪位给个可以成功运行的例子。谢谢!:)

回复数量: 13
  • NauxLiu https://github.com/nauxliu
    2015-12-16 09:03:05

    可以用 socket.io 之类的实时通信类库。然后和 laravel 通过 redis 的 pub/sub 通信。最后由 socket.io 给客户端下发信息。

  • wzhsunn
    2015-12-16 22:19:16

    不知所云……,有例子吗?

  • xcaptain
    2015-12-17 02:20:43

    我们这边的消息提醒,提醒数字是通过websocket传的,但是通知内容就是客户端发起http请求从服务器拉取的。

  • wzhsunn
    2015-12-18 08:42:53

    谢谢啦,依靠大家的帮助,参考此教程,已经初步实现。

  • wzhsunn
    2015-12-18 21:33:04

    @xcaptain 不同用户是如何区分传不同的数字的呢?:)

  • xcaptain
    2015-12-20 01:10:24

    @wzhsunn 可以试试这个,长连接服务应该都差不多,客户端和socket服务器建立连接,http接口通过mq通知socket有新的消息,socket再把消息内容返回给客户端。不同用户传不同的数字,这个就看你的消息体如何设计了。

  • wzhsunn
    2015-12-20 17:15:25

    @xcaptain 你的意思是说每个用户收到的消息都是一样的,比如json格式: {'A':20, 'B':30,...},只是每次用户A 取 json数据中,A的数据 是吗?

  • JigsawYe
    2015-12-22 01:15:00

    @wzhsunn 看到這篇文研究了一下:在 laravel 5 實作瀏覽器推播通知

    給你參考 :smile:

  • wzhsunn
    2015-12-22 08:22:10

    谢谢啦,真厉害,拜读一下!

  • wzhsunn
    2015-12-22 08:25:24

    但是有个问题,我的工程是基于laravel 4.2 的,有些功能没有…… @JigsawYe

  • NauxLiu https://github.com/nauxliu
    2015-12-22 10:32:03

    @wzhsunn Laravel 4.2 直接使用 Redis 的 Pub/Sub 就行了,不用依赖 Event。

    不同用户是如何区分传不同的数字的呢?:blush:

    Socket.io 每个新连接产生 socket 对象都能获取到一个唯一的 id,在握手阶段根据 token 之类的身份信息获取到连接对应的用户,然后通过 Redis 存储下用户和 socket.id 的对应关系。最后推送消息就根据对应关系只往指定的 socket.id 推就行了。

  • wzhsunn
    2015-12-28 16:47:31

    I will Try ! Thank you ! :)

  • wzhsunn
    2016-01-02 02:03:14

    @NauxLiu 能给个参考的例子吗?

    我打印了一部分socket.id 是唯一的,但是如何和用户一一对应起来呢?

    ➜  nodejs git:(wzhsunn) ✗ node server.js
    client connected
    FTBXoFEJZ0A6H51tAAAA
    client connected
    ywB2cHIwGUnbPnJgAAAB
    
暂无评论~~
  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
Ctrl+Enter