凤凰框架自定义频道
phoenix framework custom channels
我正在寻找一种在 phoenix 框架中实现自定义通道的方法我不想使用主题,而是基于负载进行路由。
例如,我有这样一条 json 消息
{
"command":"hello",
"payload": {
"message_id":"001",
"body":"is it me your looking for"
}
}
}
并想根据 "command" 的值进行路由,但我不知道从哪里开始。我无法发送主题,因为我想使用现有的 api。
您可以通过实施您自己的传输序列化程序 (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
我正在寻找一种在 phoenix 框架中实现自定义通道的方法我不想使用主题,而是基于负载进行路由。
例如,我有这样一条 json 消息
{
"command":"hello",
"payload": {
"message_id":"001",
"body":"is it me your looking for"
}
}
}
并想根据 "command" 的值进行路由,但我不知道从哪里开始。我无法发送主题,因为我想使用现有的 api。
您可以通过实施您自己的传输序列化程序 (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