【问题标题】:Architecture and technologies of an instant chat app in flutterFlutter 中即时聊天应用的架构和技术
【发布时间】:2023-03-07 20:03:01
【问题描述】:

我想用 Flutter 构建一个没有任何第三方服务的即时聊天应用。

我一直在一个简单的应用程序中工作,使用 restful laravel api 进行登录、多种方法和注销,对每个请求使用令牌身份验证。但是,我发现这种架构不适合现代即时聊天。我发现了 WebSockets,它听起来很棒,但还不知道如何订阅和使用 Flutter 中的一个。我已经阅读了有关网络频道的信息,但我不确定它们如何处理用户身份验证。是否可以从我的应用程序握手并建立会话?如果有,怎么做?

或者,可以完全安静地完成吗?在这种情况下,我如何发布消息并收听其他用户的消息?

除了聊天功能,是否建议安心工作?还是颤振能够维持一个可靠的、经过身份验证的会话?我是 Flutter 的新手。

感谢任何信息、链接或推荐。如果您要提及 firebase,请不要提及,我想构建自己的后端。谢谢!!

【问题讨论】:

  • 为了简化实时聊天的实现,你可以试试QuickBlox Flutter SDK,它支持一对一聊天、群聊和视频通话。

标签: api flutter websocket chat


【解决方案1】:

您应该查看 MQTT,这是一种目前非常广泛用于聊天应用程序的 IOT 协议。

要了解 MQTT,see this

但首先我会建议您了解 Pub-Sub(Publisher-Subscriber) 模型,如果您了解它,那就太好了。

对于发布-订阅模型,see this

或者,可以完全安静地完成吗?在这种情况下,我如何发布消息并收听其他用户的消息?

是的,它可以完全放松,但老实说,不建议这样做。你应该用 websockets 来做。

除了聊天功能,是否建议安心工作?还是颤振能够维持一个可靠的、经过身份验证的会话?我是 Flutter 的新手。

取决于您的架构选择。对于您要选择的架构,有很多不错的选择。除了 restful,还有 GraphQL,如果你对它感到满意的话。除了聊天功能之外,您还会看到大多数人使用 RESTful,但了解 GraphQL 的人也可能会使用它而不是 RESTful。

【讨论】:

    猜你喜欢
    • 2014-04-15
    • 2021-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    • 1970-01-01
    • 2011-10-03
    相关资源
    最近更新 更多