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