Jac*_*l's 1 erlang json websocket cowboy
我正在使用牛仔和jiffy(Json库)为我的websocket ..我可以从我的websocket_handle客户端收到数据,截至目前我有类似于此的代码
websocket_handle({text, Msg}, Req, Handle) ->
Message = jiffy:decode(Msg),
case Message of ?
Run Code Online (Sandbox Code Playgroud)
pattern1 - > ........... pattern2 - > .......... end,{ok,Res,State}
然而,而不是这个我想在句柄级别模式匹配...
websocket_handle({text, pattern1}, Req, State),
websocket_handle({text, pattern2}, Req, State)
Run Code Online (Sandbox Code Playgroud)
问题是我无法使用jiffy:在websocket_handle的参数中解码..所以我不能写出类似的东西
websocket_handle({text, jiffy:decode(Msg), Req, State})
Run Code Online (Sandbox Code Playgroud)
如何使它工作?
如果您喜欢函数签名与案例表达式中的模式匹配,则可以将解码后的消息"转发"到另一个"内部"函数.
websocket_handle({text, Msg}, Req, Handle) ->
Message = jiffy:decode(Msg),
websocket_handle_({test, Message}, Req, Handle).
websocket_handle_({text, Pattern1}, Req, Handle) ->
{ok, Req, State};
websocket_handle_({text, Pattern2}, Req, Handle) ->
{reply, OutFrame | [OutFrame], Req, State};
websocket_handle_({text, PatternN}, Req, Handle) ->
{ok, Req, State}.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
524 次 |
| 最近记录: |