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

在Elm中,如何根据用户输入打开websocket?,websocket,elm,Websocket,Elm,我有一个代理,它接受websocket连接,并根据url查询参数将消息路由到该连接 我考虑编写一个客户端(在Elm中)来接受用户的输入,然后根据该输入打开websocket连接。如何使用(高级)Websocket模块(如果可能的话)实现这一点?使用Websocket模块可以轻松实现这一点。由于订阅是在模型更新时更新的,因此只需生成由Websocket.listen创建的订阅列表即可。如果用户操作向模型添加值,则该值可用于创建新订阅 type alias Model = { servers:

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


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

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

type alias Model = 
  { servers: List Url }

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

你查过了吗?是的,但我没有意识到订阅是动态的。