在Elm中,如何根据用户输入打开websocket?

时间:2017-10-29 12:48:49

标签: websocket elm

我有一个接受websocket连接的代理,并根据url查询参数将消息路由到该连接。

我考虑过编写一个接受用户输入的客户端(在Elm中),然后根据该输入打开一个websocket连接。如何使用(高级)Websocket模块(如果可能)?

1 个答案:

答案 0 :(得分:3)

使用Websocket模块可以轻松实现。由于订阅在更新模型时会更新,因此只需要生成Websocket.listen创建的订阅列表。如果用户操作向模型添加值,则该值可用于创建新订阅。

type alias Model = 
  { servers: List Url }

subscriptions model = 
  Sub.batch (List.map (\url -> Websocket.listen url ...) model.servers)