gpt4 book ai didi

laravel-5 - RethinkDB、Laravel 和 Ratchet 如何协同工作?

转载 作者:行者123 更新时间:2023-12-04 16:14:25 25 4
gpt4 key购买 nike

情况

我正在尝试使用以下技术堆栈构建实时聊天玩具应用程序

  • RethinkDB
  • Laravel 5
  • Ratchet

  • 我所感知的概念情境

    enter image description here

    绿色箭头代表实时数据交换。

    黑色箭头代表其他非实时请求和数据交换。

    我的问题

    我想知道根据图表我对使用技术堆栈实现聊天的理解是否正确?

    如果有不准确之处,它们会是什么?

    最佳答案

    您的解释似乎是正确的,尽管我不建议使用 websocket 将数据发送到,而只是将实时数据分发给 channel 的所有订阅者。
    为此,获取一个 API(最好)来接收新的帖子/聊天/用户。
    并使用推送服务器将接收到的数据发送到套接字。
    推送服务器只是应用程序和 websocket 之间的中间部分,它允许 php(laravel) 轻松访问套接字。

    编辑:详细说明
    enter image description here

    重新尝试向您解释这一点。
    所有客户端都收听 WebScoket 服务器。这是一个被动的连接,他们只会根据他们拥有的主题/订阅从套接字接收消息。

    当有人想要发送消息(在聊天应用程序的情况下)时,他们会将其发送到 API 以检查是否是正确的用户发送的消息,甚至可能使用 apikeys 或其他安全手段。

    一旦在 API 中收到消息,API 就会将其分发给该聊天室/主题/订阅的所有收听客户端。

    因此,消息被转发到位于后端(API、 Controller )和 WebSocket(订阅、主题)之间的 pushserver。

    推送服务器随后将消息转发到 WebSocket,然后 WebSocket 将消息分发给正确的监听器。

    使用 API 的优点:

  • 安全
  • 可扩展性
  • 关于laravel-5 - RethinkDB、Laravel 和 Ratchet 如何协同工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36659343/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com