我有一个接受websocket连接的代理,并根据url查询参数将消息路由到该连接。
我考虑过编写一个接受用户输入的客户端(在Elm中),然后根据该输入打开一个websocket连接。如何使用(高级)Websocket模块(如果可能)?
答案 0 :(得分:3)
使用Websocket模块可以轻松实现。由于订阅在更新模型时会更新,因此只需要生成Websocket.listen创建的订阅列表。如果用户操作向模型添加值,则该值可用于创建新订阅。
type alias Model =
{ servers: List Url }
subscriptions model =
Sub.batch (List.map (\url -> Websocket.listen url ...) model.servers)