Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 与YesSOD一起使用哪个Websockets库?_Haskell_Websocket_Yesod_Haskell Wai - Fatal编程技术网

Haskell 与YesSOD一起使用哪个Websockets库?

Haskell 与YesSOD一起使用哪个Websockets库?,haskell,websocket,yesod,haskell-wai,Haskell,Websocket,Yesod,Haskell Wai,我想知道是否有人能解释Haskell websocket库之间的区别以及它们如何与YesSOD一起工作 我要举的两个主要例子是和 我还没有找到wai软件包的好例子或教程。既然yesod使用wai,它比简单的网络有什么优势?它是用来代替Network.Websockets,还是与Network.Websockets结合使用 我见过一些例子,但我无法理解它们是如何真正融入YesSOD环境的。如果有人能在Yesod中解释WebSocket与处理程序和IO等的关系,那就太好了 注意:我已经看到了,但我不

我想知道是否有人能解释Haskell websocket库之间的区别以及它们如何与YesSOD一起工作

我要举的两个主要例子是和

我还没有找到wai软件包的好例子或教程。既然yesod使用wai,它比简单的网络有什么优势?它是用来代替Network.Websockets,还是与Network.Websockets结合使用

我见过一些例子,但我无法理解它们是如何真正融入YesSOD环境的。如果有人能在Yesod中解释WebSocket与处理程序和IO等的关系,那就太好了


注意:我已经看到了,但我不明白如何应用它们,因为它们实际上没有解释WebSocket在Yesod中的位置。

事实是WebSocket不属于正常请求/响应对的范围。因此,普通的YesSOD处理程序不能简单地开始使用WebSocket。这将是理想的,也许我们将来会增加这种支持,但我还没有找到一种方法(非常欢迎想法/建议/讨论!)

同时,集成WebSocket的方法是降低抽象层,直接使用wai WebSocket和Warp。您链接的答案描述了如何完成这一任务

我不确定您的需求是什么,但eventsource更适合现有的请求/响应范式,并且YesSOD eventsource包使其易于与YesSOD集成。因此,如果这满足了您的要求,您可能需要检查一下。(Eventsource还有一个优点,它可以正确地与HTTP反向代理一起工作。)


更新此答案不再准确;有关最新信息,请参见David的答案。

是的,现在可以使用SOD WebSocket。“cabal install yesod websockets”获取并安装包。你可以在迈克尔·斯诺曼2014年3月9日的博客上看到这一点。

eventsource看起来很不错!我使用的是一个游戏,所以从技术上讲我所做的是双向的,但我可以使用POST来处理客户机->服务器消息。有没有关于如何使用YesSOD.EventSource的示例?我已经找到了很多wai eventsource,但yesod软件包的数量较少。谢谢这里有一个例子:。但是yesod eventsource实际上只是wai eventsource之上的一个非常薄的层,所以大多数示例对两者都有意义。