【问题标题】:phoenix framework custom channelsphoenix framework 自定义频道
【发布时间】:2015-11-05 21:25:02
【问题描述】:

我正在寻找一种在 phoenix 框架中实现自定义通道的方法,我不想使用主题,而是基于有效负载进行路由。

例如我有一个这样的 json 消息

{
    "command":"hello",
    "payload": {
                 "message_id":"001",
                 "body":"is it me your looking for"
               }
    }
}

并且想根据“command”的值进行路由,我不知道从哪里开始。我无法发送主题,因为我想使用现有的 api。

【问题讨论】:

    标签: elixir phoenix-framework


    【解决方案1】:

    您可以通过实现您自己的传输序列化程序 (https://github.com/phoenixframework/phoenix/blob/master/lib/phoenix/transports/serializer.ex) 并将您的客户端消息格式转换为带有主题、事件、有效负载的 %Phoenix.Socket.Message{} 格式来做到这一点。将内置的 websocket 序列化器作为适配的起点: https://github.com/phoenixframework/phoenix/blob/master/lib/phoenix/transports/websocket_serializer.ex

    【讨论】:

    • 唯一的例子是 websocket 实现,但它遵循行为,应该让你完成 75% 的实现
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-01
    • 2016-05-28
    • 2021-08-08
    • 2022-01-07
    • 2018-09-16
    • 2017-07-24
    • 2016-11-27
    相关资源
    最近更新 更多