如何从 Kotlin Android 应用程序连接到 Phoenix 频道?

How can I connect to Phoenix channels from a Kotlin Android app?

我正在考虑使用 Elixir Phoenix 后端和 Kotlin Android 客户端构建一个全栈项目.

该应用程序将需要实时数据来实现类似于聊天的功能,因此我将不得不使用凤凰频道。经过快速研究,我发现 Phoenix 在经典的 WebSocket 逻辑之上有某种额外的层,我必须使用它。

而且我不知道该怎么做,也不知道是否有库可用于此。我在 GitHub 上看到了一些库,但我不知道它们的性能如何,所以我不确定是否要使用它们。

如果有人能解释它是如何工作的,如果我需要额外的工具以及经典的 Retrofit(或 Ktor 客户端)来在 Phoenix 后端和 Kotlin 之间发送和接收实时数据,那就太好了Android 客户.

我已经知道如何处理 HTTP 请求之类的事情,主要是使用 Phoenix 后端和 Kotlin Android 应用程序进行 CRUD,但我从未使用 Phoenix 后端和 Kotlin [=] 实现任何实时功能27=] 之前的应用程序。

谢谢!

您“不必”使用凤凰卫视。渠道并不适合所有人的需要。您可以使用常规的“原始”套接字在前端和后端之间进行连接,使用 Erlang 的 gen_tcp 或 ssl。 Phoenix 是一个 web 框架,可以让你的开发人员在进行 web 开发时更轻松。当然你可以用它来与大多数应用程序通信,但它并不总是最好的选择。

但是,您可以在此处找到 phoenix.js 的 Java 等价物,它支持 Phoenix Channels:https://github.com/dsrees/JavaPhoenixClient