【问题标题】:Running websockets Haskell example运行 websockets Haskell 示例
【发布时间】:2015-03-12 23:39:45
【问题描述】:

运行 websockets Haskell 示例,如下所示,由于没有 main 函数,显然不起作用。

运行 ghc --make Main.hs -o Main 确认

Meow 功能需要 websockets 连接。如何打开连接?

使用的库是https://github.com/jaspervdj/websockets

{-# LANGUAGE OverloadedStrings #-}
import           Control.Monad      (forever)
import qualified Data.Text          as T
import qualified Network.WebSockets as WS

meow :: WS.Connection -> IO ()
meow conn = forever $ do
    msg <- WS.receiveData conn
    WS.sendTextData conn $ msg `T.append` ", meow"

【问题讨论】:

    标签: haskell web websocket real-time haskell-platform


    【解决方案1】:

    如果您查看示例文件夹:

    https://github.com/jaspervdj/websockets/blob/master/example/client.hs

    main = withSocketsDo $ WS.runClient "echo.websocket.org" 80“/”应用

    app 的类型为 app :: WS.ClientApp (),它是 Connection -&gt; IO a 的同义词

    runClient 将为您打开套接字连接。如果您想知道如何,请查看函数的来源 (https://hackage.haskell.org/package/websockets-0.9.3.0/docs/src/Network-WebSockets-Client.html#runClient)。

    顺便说一句,withSocketDo 属于 socket。你会在这里找到解释:https://hackage.haskell.org/package/network-2.6.0.2/docs/Network-Socket.html#v:withSocketsDo

    这里还有其他例子:http://jaspervdj.be/websockets/example.html

    我没有用过websocket,回答不熟悉的话题通常不是一个好主意。希望能有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多