如何使用Fable从中消耗数据并将数据推送到websocket?我发现this github issue表明它可以完成,但无法找到任何文档或如何实现此目的的示例。
答案 0 :(得分:7)
对于后来通过Google发现此问题的任何人,以下是@Lawrence在Gitter上提出这个问题时从Maxime Mangel收到的回复:
你好@lawrencetaylor你可以在这里找到一个使用带有FableArch的websockets的旧样本。 不要认为代码100%正确,因为它来自较旧版本的fable-arch。
但是,此代码应该向您展示如何使用带有fable-arch逻辑的websockets。 https://github.com/fable-compiler/fable-arch/commit/abe432881c701d2df65e864476bfa12cf7cf9343
首先创建websocket here。
Here您可以看到如何通过websocket发送消息。
here如何在websocket上听。
我已经复制了下面提到的代码,以便之后发现此问题的任何人都可以阅读它而无需关注这些链接。下面代码的信用是Maxime Mangel,而不是我。
let webSocket =
WebSocket.Create("wss://echo.websocket.org")
webSocket.send("Hello, socket!")
let webSocketProducer push =
webSocket.addEventListener_message(
Func<_,_>(fun e ->
push(ReceivedEcho (unbox e.data))
null
)
)
createApp Model.initial view update
|> withProducer webSocketProducer
|> start renderer
注意:上面代码中的ReceivedEcho
是Action
区分联合的案例之一,这是fable-arch方式中的标准模式。 withProducer
是fable-arch的一个功能。有关如何使用withProducer
的简单示例,请参阅http://fable.io/fable-arch/samples/clock/index.html。